目前我正在使用itsdangerous
生成定时 json Web 签名作为用户进行身份验证和重置密码等的令牌。这是代码:
from itsdangerous import TimedJSONWebSignatureSerializer as Serializer
class SampleCode:
def generate_confirmation_token(self, expiration=600):
s = Serializer(current_app.config['SECRET_KEY'], expires_in=expiration)
return s.dumps({'confirm': self.id}).decode('utf-8')
def confirm(self, token):
s = Serializer(current_app.config['SECRET_KEY'])
try:
data = s.loads(token.encode('utf-8'))
except:
return False
if data.get('confirm') != self.id:
return False
self.confirmed = True
db.session.add(self)
return True
而且由于TimedJSONWebSignatureSerializer
已弃用和删除,itsdangerous
2.1.0
我想我可能需要继续使用其他一些提供 JWT/JWS 接口的库。
在这里我有两个候选人,哪个更好: