我试图在 flask 中为我的Android应用程序编写基于 token 的身份验证。为此,我需要一个唯一的 token ,通过它可以验证用户。

它的危险库提供了JSONWebSignatureSerializer函数,可以使用该函数创建JWT token 。所以我的第一个问题是,将JWT用于基于移动的身份验证是否安全?

其次,我对django rest框架如何生成其 token 进行了一些研究。

def generate_key(self):
    return binascii.hexlify(os.urandom(20)).decode()

这个 token 是唯一的还是随机的?我应该使用哪一种进行基于移动的身份验证?

在python中为移动应用程序生成唯一 token 的基本方法是什么?

最佳答案

您可以像上面提到的那样使用内置的uuid模块。 3.6中发布的新secrets模块还能够创建唯一 token 。

from uuid import uuid4

rand_token = uuid4()

每次调用时,下面的函数都会创建一个唯一的 token 。 os.urandom方法返回20个随机字节作为字符串,并且binascii.hexlify方法将这20个字节中的每一个转换为该字节的2位十六进制表示形式。这就是为什么返回值是两倍长的原因。

如果要使用此方法,并且需要 token 具有特定的长度,请使用所需长度的一半作为os.urandom方法的参数。
def generate_key(self):
    return binascii.hexlify(os.urandom(20)).decode()

关于python - 如何在python中生成唯一的身份验证 token ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41354205/

10-11 23:10
查看更多