使用身份验证令牌在多个设备和多个请求中对用户进行身份验证

时间:2017-04-03 12:17:48

标签: android authentication

我为我的Android应用程序实现了一个简单的基于令牌的身份验证。首次登录时,它会生成访问令牌,刷新令牌,将它们保存在数据库中,并作为响应数据返回用户请求。用户保存这些令牌并在下次请求中使用。当令牌过期时,服务器会创建一个新令牌并更新数据库中的旧令牌并将新令牌返回给用户。此实现工作正常,直到用户只使用一个设备。

我的第一个问题是,如果我每次登录时登录多个设备都会创建新的令牌,这会使其他设备未经授权,因为它们具有服务器数据库中不再存在的旧令牌。所以我想为每个设备维护不同的令牌。那么它是一种正确的方法,还是有更好的实施方式?

第二个问题是,在同一个设备中,假设我发送了一个带有过期令牌的请求。所以服务器发回了新的令牌,但在响应发出之前,我发送了另一个带有过期令牌的请求。现在,首先请求使用新令牌更新过期令牌,第二个请求变为未经授权,因此强制我注销。如果我不想等到第一次请求结束,如何处理这种情况?

0 个答案:

没有答案