我想为我的应用用户使用SSO(单点登录),但我不明白如何将其应用到我的案例中。
总结一下,我们有:
目前,可以在网站上创建一个帐户,然后使用相同的凭据从移动应用程序进行连接。移动应用和服务器之间的所有通信都通过http请求进行。
简而言之,我首先要
我找到了几个信息来源:
与我在某些示例中看到的不同,我不需要向Google日历或任务等Google服务发出请求,我只想对用户进行身份验证。
有人可以告诉我在网站和移动应用上需要做什么。我应该在我的数据库中存储信息吗?如何确保在身份验证后,来自移动应用程序的所有http请求都来自经过身份验证的用户?
请不要犹豫,请我澄清一些观点。
提前致谢
答案 0 :(得分:4)
由于OAuth是授权的标准,而不是身份验证的标准,因此它不支持任何直接方法。但是,大多数提供程序允许您调用返回登录用户的 id 的端点。 Google会将 id 作为基本个人资料信息的一部分返回。您已经提到的the first article中描述了此步骤。有多个库可用于简化此步骤。
因此,为了识别用户,您获取了 Google用户ID ,并将其存储/匹配到您的数据库中。
要在Android设备上获取用户的 id ,有一种更简单的方法。只需使用its documentation中所述的Google Play服务即可。您可以在文档最后一部分的调用响应中找到用户ID 。
现在仍然存在这样的问题:您必须将用户ID 从设备发送到您的网络服务器并验证您的应用是否已发出此呼叫。幸运的是,Google还为Google Play服务构建了一种方法。 Android开发者博客上有一个关于此问题的blog post by Tim Bray。