【发布时间】:2018-04-18 23:55:33
【问题描述】:
所以我想创建一个后端,允许我的 Android 应用程序(如 Facebook、Twitter 等)无限期持久登录。因此,我将用户刷新令牌的哈希存储在我的数据库中,并将其与客户端的每次请求刷新时刷新令牌。如果客户端注销,它会发送一个删除刷新令牌的“api/logout”请求。但是,有一个极端情况,如果用户在没有注销的情况下删除了应用程序,我无法从数据库中撤销他们的刷新令牌,所以它永远作为陈旧的数据存在。有什么办法可以处理这种情况?
【问题讨论】:
-
不,您不能在客户端执行此操作。我能看到的唯一可靠的方法是在后端对令牌使用过期时间方法,如果在设定的时间段内没有与客户端进行任何交互,则不时运行一些更清洁的方法
-
在六个月内未使用的刷新令牌可以被删除大多数身份验证服务器的撤销旧的未使用令牌。因此,假设您正在记录他们上次访问您的系统的时间,这应该可以工作
-
@Kulebin 我创建了一个 cron 作业来完成这个,谢谢
标签: android database security oauth backend