我正在编写一个像这样工作的登录令牌: 只要您使用正确的用户名和密码登录,服务器就会使用令牌进行响应。该令牌由标识符和令牌组成,将在本地保存。
完成服务器请求后,整个登录令牌将被发送回服务器。它检查标识符是否有效。如果标识符有效,则将检查令牌。根据此情况,它将提供权限并发回具有相同标识符但新令牌的登录令牌,或者如果它无效,则用户将被注销,并且将从数据库中删除标识符+令牌。
所以,总而言之,它用于为用户提供永久登录,但代码应该是防盗的。 到目前为止,该系统运作良好。但有一个问题。如果用户具有较慢的互联网并且一次执行多个请求(例如,刷新页面几次),则用户将被注销,因为他使用旧令牌但服务器已经创建了新令牌。
所以我的问题是:有没有一种避免这种情况的好方法?我考虑过保存多个令牌,并在用户使用新令牌后立即将其删除。但这会导致更高的风险,而某些功能会失去其影响。