我们在开发网站时会采用session和cookie的方式来处理登录权限问题, 而在移动应用中要验证用户身份采用登录时给用户生成一个token(令牌)的方式. 每次用户发出需要身份认证的请求时, 就需要验证一次token是否有效, 无效的情况包括token无法被解析等. 另一个问题是如果token被泄露, 用户的安全将受到威胁, 所以应当对这个token设置一个过期时间, 超过这个时间后应当重新登录, 这样可以将用户信息泄露的风险降低.
生成和使用token
有个很棒的Python第三方库叫itsdangerous, 包含许多常见安全问题的解决方案, 比如文件名等等.
生成token
TimedJSONWebSignatureSerializer能将包含用户id的字典, 如{'user_id': 1}设置一个具有过期时间的数字证书(Signature), 需要注意的是, 设置的secret key一定要足够安全, 在flask应用中, 我们采用flask配置中的secret key
1 2 3 4 5 6 7 8 | |