在具有相同凭据的两个Android应用之间共享登录数据

时间:2016-11-25 10:17:03

标签: android security authentication login

问题:

我有两个Android个应用,它们使用相同的登录数据。产品所有者希望在这两个应用程序之间启用无缝登录,这意味着用户只应登录到一个应用程序,然后登录到第二个应用程序而无需输入凭据。

研究可能的选项:

我读了很多,但我还没有找到解决方案。 一种选择是在清单中添加sharedUserId,但据说这只有在尚未发布应用程序的情况下才有效,否则用户将无法再访问其旧的已保存数据。正如我的某个应用程序的情况一样,此选项已被删除。

另外,我读到了AccountManagerreddit post也提到了这一点,但也提到了一个问题,即不应该在帐户管理器中保存密码。我的应用程序没有进行进一步身份验证的令牌,只有密码,因此我不确定AccountManager是否是一个不错的选择。

另外我听说系统范围的凭据有KeyChain Api,但我不确定AccountManagerKeyChain

我找到的最新版本是Smart Lock,但是从文档中我没有发现是否有办法在应用之间共享凭据,而不是在应用和网站之间共享凭据,因为这是密码对于物理设备,产品所有者无法看到Google消息,指示此密码已保存在云中的某个位置。

问题:

在研究了所有这些可能性后,我仍然不知道哪种选择最适合我的情况。在我的案例中保存凭证的最佳选择是什么?

1 个答案:

答案 0 :(得分:0)

您可以实现一个内容提供程序,您将在其中处理条目并更新登录状态。

你有这些可能性:

用户登录应用A - >更新架构X - >进入应用B - >检查架构 - >如果字段显示已记录App A,请继续。

用户登录应用B - >更新架构X - >进入应用B - >检查架构 - >如果字段显示已记录App B,请继续。

您必须注意,如果您在线工作,退出选项可能会令人不安。

祝你好运:)