其他分享
首页 > 其他分享> > android-网站和移动应用上具有Google帐户的SSO

android-网站和移动应用上具有Google帐户的SSO

作者:互联网

我想为我的应用程序的用户使用SSO(单一登录),但是我不知道如何将其应用于我的案例.

总而言之,我们有:

>数据库
>网站
> iPhone应用程序/ Android应用程序

当前,可以在网站上创建一个帐户,然后使用相同的凭据从移动应用程序进行连接.移动应用程序和服务器之间的所有通信均通过http请求进行.

简单来说,我首先

>能够使用Google帐户对用户进行身份验证
>让Android用户选择与其智能手机关联的Google帐户之一

我发现了几种信息来源:

> Google – Using OAuth 2.0 for Login
> Android – Remembering Users

与在某些示例中看到的不同,我不需要向Google日历或“任务”之类的Google服务发出请求,我只想对用户进行身份验证.

有人可以告诉我我需要在网站和移动应用程序上做什么.我应该将信息存储在数据库中吗?如何确保在身份验证之后,来自移动应用程序的所有http请求实际上都是来自经过身份验证的用户?

不要犹豫,要求我澄清一些要点.

提前致谢

解决方法:

由于OAuth是授权而非身份验证的标准,因此它不支持任何直接方法.但是,大多数提供程序都允许您调用返回已登录用户ID的端点. Google会将ID作为基本个人资料信息的一部分返回.您已经提到的the first article中描述了此步骤.有多个库可帮助您简化此步骤.

因此,为了识别用户,您需要获取其Google用户ID并将其存储/匹配到数据库中.

要在Android设备上获取用户ID,有一种更简单的方法.只需按照its documentation中的说明使用Google Play服务即可.您可以在文档最后部分的电话回复中找到用户ID.

现在仍然存在问题,您必须将用户ID从设备发送到Web服务器,并验证此调用是否由您的应用发出.幸运的是,对于这种情况,Google还在Google Play服务中内置了一种方法. Android Developers Blog上有一个blog post by Tim Bray与此相关.

标签:authentication,google-oauth,single-sign-on,android
来源: https://codeday.me/bug/20191031/1975623.html