【发布时间】:2018-06-25 07:02:26
【问题描述】:
我正在开发一个 Android 应用程序,我想在其中限制用户一次只能访问一台设备。
假设用户 A 第一次使用 Android 应用程序登录,从下一次开始,应用程序会使用存储在本地存储中的凭据自动登录。
如果同一用户使用相同的凭据登录 Web 应用程序并更改了密码,则移动应用程序应在密码更改后立即强制用户登录。即使移动应用程序处于活动状态并且正在执行有些任务,必须取消并强制用户重新登录。
我的想法是在用户从 Web 应用程序登录/更改密码后立即在移动应用程序中使用推送通知来终止会话。但瓶颈是设备设置中有一个选项可以阻止通知。
请帮助我找到解决此问题的方法。
【问题讨论】:
-
始终在服务器上验证。这不是安卓问题。
-
由于您自动登录用户,我假设您在登录/注册时提供了某种访问令牌。当发生某些操作(即更改密码)时,此访问令牌可以在服务器上失效。如果令牌无效,则所有移动请求都应失败并显示特定错误代码(401 - 未经授权)。当应用检测到这个错误时,它应该将用户重定向到登录。
-
@danypata 我不使用令牌。我们使用liferay sdk。它提供了 API 来检查用户是否已经登录。基于此,我导航到 LoginActivity/HomeScreen
-
Android 中没有停止推送通知的选项,但可以选择停止显示通知。
标签: android session login push-notification