我自己查了一些资料,还是没有很好地头绪
这是我找到的感觉不错的教程,但是看完还是有点蒙,很无奈
https://www.cnblogs.com/vovlie/p/4182814.html
我一直有个疑惑,token 是有过期的时间的,过期之后如果再次获取,怎么知道过期了,希望可以解答一下
如果有一个类似的教程可以手把手教学最好
感觉我基础有点差,如果有什么建议我学或读的,欢迎说出来
1
octobersnow 2018-02-25 12:51:52 +08:00 via iPhone
请问您使用蓝图了吗。数据库怎么配置的
|
2
codingcrush 2018-02-25 13:01:47 +08:00
flask 套件里的 itsdangerous 包有个 TimedJSONWebSignatureSerializer 类,可以生成带失效时间的 token,至于 token 检验也可以用这个包里的方法搞定
|
3
sevenQu OP @octobersnow 我跟着 flask 狗书写过一遍博客,这些网上很多教程,不难
|
4
octobersnow 2018-02-25 13:13:33 +08:00 via iPhone
@sevenQu 能不能提供个书名称。谢谢
|
5
sevenQu OP @octobersnow flask web 开发,这本书是是开发一个网页版的 twitter,书上 python 版本 2.7 和 3.3,有些代码已经过时了,需要结合 git 来学习,感觉整体很不错,但是我想开发微信小程序,登录过程感觉是另一个套路,和网页不太一样
|
6
male110 2018-02-25 13:25:45 +08:00
定时获取,好像是两个小时,你可以一个半小时获取一次。
|
7
male110 2018-02-25 13:26:06 +08:00
py 怎么样?准备学一下。
|
8
guiqiqi 2018-02-25 16:25:02 +08:00 via iPhone
建议多看看官方的文档,token 的过期时间是两个小时,在两个小时的上限到达只会有一个缓冲的时间使得新 token 和旧 token 同时可用,保证业务过渡。官方文档中也建议了,单独写一个中控服务器获取 token。我在我的项目中也是这么做的,主服务器启动向中控注册任务,中控负责更新,需要用的时候去取就好了。
|
9
Linxing 2018-02-26 02:57:50 +08:00 via iPhone
微信有 api 去验证是否过期
|
10
sevenQu OP @codingcrush 你好,我找了 itsdangerous 文档,但是没有发现有 TimedJSONWebSignatureSerializer 介绍,文档地址: http://itsdangerous.readthedocs.io/en/latest/,是我找错了吗?
|
11
wqxuan 2018-02-26 10:08:55 +08:00
JWT 验证,目前用的这个插件,flask_jwt_extended,http://flask-jwt-extended.readthedocs.io/en/latest/basic_usage.html, 配置 token 有效期,jwt_config = {
'JWT_HEADER_TYPE': 'JWT', 'JWT_ACCESS_TOKEN_EXPIRES': datetime.timedelta(minutes=30) # token 30 分钟过期,具体过期时间根据需要定 } 请求的时候,在 headers 中带上 Authorization: JWT token 如果 token 过期,会返回 { "msg": "Token has expired" } |
12
sevenQu OP @wqxuan 好东西,我查了 itsdangerous,里面的 TimedJSONWebSignatureSerializer 也可以实现,可能没这个插件封装的好,谢谢
|
13
ai277014717 2018-02-26 12:56:30 +08:00
一次发两个请求,第一个验证是否过期,成功请求第二个业务逻辑。失败更新 token
|
14
sevenQu OP @ai277014717 这个思路感觉也可以,我看的好像都是直接把 token 放在请求的 heaeder,如果过期,直接返回重新获取 token,如果验证通过,则可以完成逻辑
|