目录
itsdangerous库提供了对信息加签名(Signature)的功能
1、生成token
实例化
可以理解为一个序列化器,第一个参数要求我们传入一个几乎是独一无二的随机字符串串
在配置文件中写入随机字符串
第二个参数接收一个过期时间,最后就变出如下实例化代码了
把用户信息写入到序列化器中,使用.dumps()方法,可以接收一个字典,
进入调试模式可以看到下图,是bytes类型
我们需要把bytes类型转化为字符串,使用.decode()方法
2、读取token
依然需要构建一个序列化器,然后把key传入进去,
读取我们使用一个相反的方法.loads(),其中需要传入token同样要使用相反的方式变成bytes类型
3、对于非法或者过期的token处理
我们还需要考虑两种情况:
- token确实是由我们的网站生成的,但是它过期了
- token根本不是我们网站生成的,而是别人伪造的
首先我们通过用户的uid号把user这个模型查询出来,这里使用的是get,而不是我们之前用的filterby,get是一种简化的查询形式,当我们的查询条件使我们模型的主键的时候,直接使用get,然后主键的值传递进来,就可以拿到模型了。