我试图在 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/