一次启用一台设备的登录

时间:2017-08-15 06:10:10

标签: java android authentication oauth-2.0

当用户安装应用时,我们会在应用上生成唯一ID并存储它。

用户可以使用用户名和密码登录。如果登录成功,服务器会将OAuth令牌发送给应用。应用程序存储令牌并刷新令牌以供将来使用。

但是当用户尝试从新设备登录时,我想从之前的手机注销用户。

如何退出其他设备?

(我想从以前的设备中删除OAuth令牌。如果不是app尝试刷新令牌并允许用户登录。)

我想要处理注销逻辑? 请帮忙。

2 个答案:

答案 0 :(得分:1)

您可以向之前登录的设备发送通知以删除登录信息。或者,如果登录在服务器或已登录的其他设备中仍然有效,则每次应用程序启动时都要检查后台。如果已登录的其他设备不允许用户进入应用并从应用中删除登录凭据。

答案 1 :(得分:1)

我认为接受的答案是正确的解决方案。你不应该在客户端有这个逻辑。这可能会导致潜在的安全问题。

您需要做的就是使服务器端的旧oauth令牌无效,因此下次旧设备使用它将接收的旧令牌,400 invalid_grant例外,当您必须执行日志时进行。

相关问题