我一直在研究如何在 Android 中实现 SSO 有一段时间了。我研究了很多解决方案,主要是关于如何共享数据以避免登录,其中有些已被弃用,有些不适合我的用例 -
WORLD_READABLE
模式共享首选项,但它已被
已弃用,并且在最初也有很多安全问题
sharedUserId
共享数据并使用相同的证书签署应用程序,但它也已被弃用。AccountManager
创建自定义帐户并将其用于
登录我的应用程序。但由于我的一个应用程序已经上线,
大多数用户已经登录了现有的应用程序,所以
我不确定当用户安装新的时这种方法将如何工作
应用程序(敬请 CMIIW)。ContentProvider
共享数据并通过自定义权限保护数据(这看起来是目前最可行的解决方案,但我有一些顾虑 - 例如 - 我有多个想要共享数据的应用,那么每个应用都会有定义它自己的 ContentProvider 以让其他应用程序访问它的数据,而且会涉及很多样板代码)。在 Android 应用程序中是否有正确的方法来实现 SSO?我一直在研究共享数据,可能还有一些其他更好的方法我可能会遗漏。 我不确定亚马逊是如何通过所有应用程序实现这一目标的。他们没有自定义帐户,这是肯定的,因为我们可以检查它。 PS:由于我们已经在我们的应用程序中实现了登录功能(它是原生的,不是通过网页),改变它的范围很小)。 任何解决方案/参考/建议都会有很大帮助。