相信兄弟们在写项目时,都必须要考虑用户信息安全的一个问题,那么这时候大多数兄弟选择使用token来保护用户信息。
但是又对token所设置的时间拿捏不准
token设置的时间长了,那么我们设置token的意义也就消失了,数据还是会被不法分子拦截、劫持。
token设置的时间短了,虽然说保障了我们用户的信息安全,但是在用户使用的过程中,token已过期就会需要我们用户重新登录,造成用户的体验感很差。
在这时候我们就要考虑,如何在确保用户信息安全的情况下,让用户有一个良好的体验呢?
如果我们设置两个token(一个长token,一个短token)是不是就可以解决这个问题了呢?
也就是本次要讲的双token(双JWT)认证了。
双token的原理也很简单:
- 通过定义两个token,长token(Refresh Token)和短token(Access Token)
- 在用户登录完成之后后端则会生成双token,并且将短token(Access Token)返回到前端用于数据的请求。
- 而长token(Refresh Token)则会留在后端,用于短token(Access Token)过期之后获取新的短token。
双token认证主要就是为了解决:
1、设置单token时,不安全容易被劫持,导致用户信息泄露的问题。
2、单token过期用户需要重新登录,降低用户体验。
3、降低对服务器的负载等问题的。
那么