token 和 refreshToken 存于 cookie 中
token 两小时有效,refreshToken 7 天有效
token 失效后 refreshToken 刷新 token
如果用户操作中 refreshToken 失效了,如何判断呢?区别于用户第一次进入的未登录?
1
rioshikelong121 2020-07-13 11:49:41 +08:00
后端判断吧。 后端可以区分 refresh token 的时间过期 和 cookie 中不包含 token 和 refresh token 的情况(未登录)。
|
2
baiyi 2020-07-13 11:54:58 +08:00
刷新 token 时发现 refreshToken 也失效,则清除前端登录状态,让用户重新登录
|
3
sunxiansong 2020-07-13 12:06:23 +08:00
判断逻辑和后端协商啊,给个确定的状态码给个错误码,反正能确定是 refreshToken 失效就行
|
4
Kyle18Tang 2020-07-13 12:13:19 +08:00
两个都失效后端就应该返回 401,你前端判断 HTTP 状态就可以了。
|
5
nvkou 2020-07-13 12:14:02 +08:00 via Android
你把各种 token 用点.分割开,把第二部分用 base64 解码。里面就有过期时间
|
6
liuzhaowei55 2020-07-13 12:14:14 +08:00 via iPhone
refresh_token 不应该每次传吧,应该第一次授权获得了 refresh_token 然后存储本地,当服务器返回 access_token 过期的时候,用 refresh_token 去刷新 access_token,我是这样理解的,一般情况下服务器也会顺带刷新 refresh_token 的过期时间。
|
7
kop1989 2020-07-13 12:15:30 +08:00
1 、token,refreshToken 是否失效应该交由后台判断,不应你来判断。
2 、在不刷新 token 的场景下,应该是无法发现 refreshToken 失效的,如果发现了,那这个 refreshToken 的业务意义就很让人不解。 3 、在 1 和 2 的前提下,也就是刷新 token 才发现 refreshtoken 失效,那么应该不存在你的问题。(因为未登录是不会通过 refreshToken 刷新 token 的)。 |
8
LeeSeoung 2020-07-13 12:58:28 +08:00
都让后端判断,前端只管解析后端返回的是否有效凭据
|
9
hantsy 2020-07-13 13:15:45 +08:00
用 OAuth2 标准的话,前端大把 OAuth2 封装( Angular,react ),更简单的就是用 Auth0,Okta 等。
|