双Token机制
一、概述
双Token机制顾名思义就知道是有两个Token,分别为Access Token和Refresh Token。其中,Access Token为短期令牌,有效期在5~30分钟,用于日常API请求验证;与之相反的是Refresh Token,这是长期令牌,有效期在1~7天,用于获取新的Access Token。
二、工作流程
用户登录:用户进行登录或注册,通过后,服务端生成Access Token和Refresh Token并将其存入Redis,然后将两个Token返回给客户端,客户端接到后将其存入本地。
资源请求:客户端携带Access Token来访问资源,若Token没有过期且验证通过,则允许访问资源,若Token过期,则返回401错误,客户端接到401错误后触发Token刷新流程。
Token刷新:客户端携带Refresh Token调用刷新接口,服务端验证通过后,生成新的Access Token和Refresh Token,更新Reids存储后返回给客户端。
三、总结
该方案使用短期令牌降低泄露风险,同时也使用长期令牌减少用户的登录频率,既保证了安全性,也兼顾了用户体验,可谓是一举两得。