「本文是今年日更计划第9篇文章」
前后端分离不同于传统的web服务,无法使用session,因此我们采用JWT这种无状态机制来生成token,大致的思路如下:
- 客户端调用服务端登录接口,输入用户名、密码登录,登录成功返回两个token,如下:
- accessToken:客户端携带这个token访问服务端的资源
- refreshToken:刷新令牌,一旦accessToken过期了,客户端需要使用refreshToken重新获取一个accessToken。因此refreshToken的过期时间一般大于accessToken。
- 客户请求头中携带accessToken访问服务端的资源,服务端对accessToken进行鉴定(验签、是否失效....),如果这个accessToken没有问题则放行。
- accessToken一旦过期需要客户端携带refreshToken调用刷新令牌的接口重新获取一个新的accessToken。