java - 允许一次登录一台设备

标签 java android authentication oauth-2.0

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

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

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

如何注销另一台设备?

(我想从以前的设备中删除 OAuth token 。如果不是,应用程序尝试刷新 token 并允许用户登录。)

我想在哪里处理注销逻辑? 请提供任何帮助。

最佳答案

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

您需要做的就是在服务器端使旧的 oauth token 失效,因此下次旧设备使用旧 token 时,它会收到 400 invalid_grant 异常,此时您必须执行注销。

关于java - 允许一次登录一台设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45687336/

相关文章:

android - 缩放 ImageView 上的额外左右填充

javascript - 密码登录页面

c - 在 Cyrus SASL 中使用外部机制

java - 如何识别 Jackson 错误中缺少的类型 ID?

java - firebase 在家庭 Activity 内切换 Activity 时导航到登录 Activity

java - 将 JAR 从 $HOME/jre/lib/ext 移动到 Gradle 时出现 JDBC 错误

php - Laravel 5.0::更改密码后无法登录

java - 复制构造函数帮助,试图复制一个 boolean 数组。 java

java - Android:进度对话框错误 java.lang.NullPointerException

java - Android:增加整数会导致分配