access token已过期,怎么用refreshtoken刷新accesstoken

access token已过期,怎么用refreshtoken刷新accesstoken。 不指定
justwinit 2014-2-17 16:13 大 | 中 | 小
WEB2.0 评论(0)
需要重新获取code,然后得到access_token。
即要重新调用授权界面。需要用refreshtoken刷新accesstoken。
如果刷新取到了新的accesstoken、refreshtoken、expirein,需要用这些新的去替换掉关联表中的数据。
建议每次登陆的时候都用refreshtoken去刷新一次accesstoken。

来自:http://zhidao.baidu.com/link?url=lowvWKZOrelWHzeDa_AnrISFyS_QFZAnJ_WG6iqBRNZhikW32LfCBrJ8G_bPt39RV0fTXI2Szf4QVpLZuBXEgqcr4a68YmVS3m8WJ38aN-K

在OAuth2.0中用户的登录状态需要通过不断刷新来维持.

例如上面提到的应用.假设更详细的场景,这个应用在用户授权之后,每天给用户的人人网发送一条状态报告当天的日期.

用户授权之后,获取到一个access token和一个refresh token,还有一个是session key,这个是国内大多数开放平台自己添加的一个标记,可以让用户使用http来调用api,如果没有它,用户只能通过https来调用api.session key的生命周期和access token是相同的.

我们把这三个值存到一个队列的数据库中.

然后,在每天的10点,我们遍历这个数据库表,取出它的access token和session key,然后用他们去请求api,如果发现他们已经过期,我们就需要利用refresh token去重新刷新,获取新的access token和session key.然后利用他们去请求api,如果请求的时候提示refresh token也已经过期,那么这时候用户的登录状态就会过期,这说明这个用户至少2各月没有在此应用活跃了,这个活跃不光指用户自己在使用应用,也包括应用自动调用用户api的行为.

每次刷新token的时候都会返回一个新的refresh token,所以说如果你的应用每个月帮用户发一条状态的话,走上面的流程,一直下去,这个用户的登录状态一直都不会过期,至于为什么,自己去琢磨哦,琢磨透了也就理解了.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值