为什么有些接口,既有access_token,又有refresh_token,还有keepalive接口?
就是我最近对接一个应用。然后这应用提供一些接口,
接口既有获取access_token接口,又有refresh_token接口,还有keepalive 保持token保活接口,为什么需要这么多类似的token接口。三个作用有哪些,有什么区别吗?
不知道,请贴出你的逻辑
参考微信的微信开放文档-网页授权了解。
粗浅理解,有错欢迎斧正
access_token
接口一般是登陆后拿token,其实也可以登陆成功之后就返回,主要是用来替代session
来实现用户登录态refresh_token
接口用当前过期但未失效
token来换取一个新的token, 一个token的过期时间可能为2小时,但在第N个小时内(N>2,比如3,看配置),可以用来换取一个新的token,此时不用重新登陆, 当N > M (比如8),无法再用token换取新的token,就需要重新登陆; 也有的系统用中间件来做,返回头加上新的token, 前端替换一下。keepalive
不知道啥意思,呃,我们这做法是前端轮询去调接口看token有没有失效,如果失效了就退出登陆(权限变更等操作会强制用户下线,重新登陆)保活接口就是刷新accesstoken接口吧。有刷新接口就是得有这三个接口,正常的逻辑
我的理解是
个人理解
access_token : 获取授权,无异议
refresh_token :老token快要失效的时候,获取新token 然后全局替换新token
keepalive :如果将token 分发到其他模块,无法全局替换且当前操作之后的一定时间需要保障token能正常使用