python中用itsdangerous生成时效性的token

在web开发中,带有时效的token运用非常多,itsdangerous生成token是比较简洁好用的一种。
一切的加密和加密都交给itsdangerous来做,只需要像用黑盒一样使用即可。
例如:不想让客户端知道数据库中的id,而且产生的token具有时效性。
1.导入

from itsdangerous import TimedJSONWebSignatureSerializer as Serializer

2.加密信息

s = Serializer("加密安全码", 1000)
s.dumps({'id':'12345'}).decode('utf-8')

加密安全码越复杂越安全。dumps中为需要加密的信息,这里存id。1000为有效时间,单为秒。

3.解密

s = Serializer(current_app.config['SECRET_KEY'])
try:
    data = s.loads(token.encode('utf-8'))
except Exception as e:
    print(e)
else:
    print(data.get('id')) #12345

取出id后用于数据库中校验之类的工作。

检验时间是否有效,交给了itsdangerous 去做。

你可能感兴趣的:(python中用itsdangerous生成时效性的token)