标签:authentication google-oauth single-sign-on android
我想为我的应用程序的用户使用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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。