Go 项目开发实战-用户Token的刷新、踢人下线和防盗检测

上一节我们说了Token的自解释性生成算法、Token信息的在服务端的存储以及客户端携带Token请求API时服务端的Token认证逻辑。

这节我们继续讲Token的刷新和主动踢人下线

6695da3fadb34cb1a71295d71f2ab933.jpeg

‍ ‍

首先Token为啥刷新呢?很简单为了安全性用户AccessToken的时效性会相对较短,保证Token被其他恶意用户拿到后也不能长时间用它来浏览用户的数据。

即然有效期短那就得有合理的方式让用户的Token能够被刷新,不然用户使用产品期间隔一段时间就得登录一次,一天登录好几次,用户体验可想而知,定是不会好的。

为什么要有刷新Token

在我们的用户认证体系中,当用户登录成功后,在服务端存储以下的Token信息和用户会话信息

8c7cda1587526b577e6a5a2846e4eda2.jpeg

这里我们设计了两种Token:AccessToken以及RefreshToken,AccessToken专门用户来接口请求中验证请求的用户身份,我们上面说过为了安全考虑它的时效比较短一般 0.5h ~ 2h,到期后客户端可以用RefreshToken来刷新获得新的Token信息。

RefreshToken的时效一般设的较长10 ~ 30天都可以,假设用户首次登录后过了几天再来使用应用,客户端仍能通过RefreshToken来刷新Token信息,用户在短期未使用产品的情况下仍能保持住登录态,不至于出现隔几天再用每次都得重新登录的情况。

所以两个Token,A

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值