gpt4 book ai didi

android - 在网站和移动应用程序上使用 Google 帐户进行单点登录

转载 作者:太空宇宙 更新时间:2023-11-03 13:30:22 25 4
gpt4 key购买 nike

我想为我的应用程序的用户使用 SSO(单点登录),但我不知道如何将它应用到我的案例中。

总而言之,我们有:

  • 数据库
  • 一个网站
  • 一个 iPhone 应用程序/一个 Android 应用程序

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

简单来说,我会先

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

我找到了几个信息来源:

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

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

请不要犹豫,让我澄清一些要点。

提前致谢

最佳答案

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

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

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

现在仍然存在一个问题,您必须将用户 ID 从设备发送到您的 Web 服务器并验证此调用是由您的应用程序发出的。幸运的是,Google 还在 Google Play Services 中内置了一种方法来应对这种情况。有一个 blog post by Tim Bray在 Android 开发者博客上了解这一点。

关于android - 在网站和移动应用程序上使用 Google 帐户进行单点登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14218694/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com