【问题标题】:With Google+ being shutdown, is the OAuth API gone too?随着 Google+ 被关闭,OAuth API 是否也消失了?
【发布时间】:2019-03-05 18:02:49
【问题描述】:

我们的一些用户通过 Google OAuth API (https://developers.google.com/+/web/api/rest/oauth) 进行身份验证

2019 年 4 月之后 Google 的 OAuth API 版本的未来是什么?

除了 OAuth,我们使用以下端点来获取用户的电子邮件和姓名:https://www.googleapis.com/plus/v1/people/me 一旦我们获得访问令牌。这个端点会过时吗?

【问题讨论】:

    标签: oauth google-api google-plus google-oauth


    【解决方案1】:

    2018 年 12 月 21 日更新

    Google+ Shutdown Notice

    [结束更新]

    OAuth 2.0 是一项由 Google 帐户提供的服务。 Google+ 的生命周期结束不会影响 OAuth 2.0。

    OAuth 2.0 是 Google Cloud Platform、G Suite 和许多其他服务的基础身份验证服务。 OAuth 2.0 基于令牌,这些令牌可用于各种服务,包括基于 Google 的服务和第三方服务。

    关于端点的评论部分在下面提出了另一个问题。

    用于用户信息的 Google+ 端点:googleapis.com/plus/v1/people/me 可能会继续存在多年(等待 Google 的官方公告)。

    我将开始使用 Google OAuth 2.0 端点(注意 alt=json):https://www.googleapis.com/oauth2/v3/userinfo?alt=json

    返回的 Json 如下所示:

    {
      "id": "123456789012345678901",
      "email": "username@example.com",
      "verified_email": true,
      "name": "User Name",
      "given_name": "User",
      "family_name": "Name",
      "link": "https://plus.google.com/123456789012345678901",
      "picture": "https://lh3.googleusercontent.com/.../mo/photo.jpg",
      "locale": "en",
      "hd": "example.com"
    }
    

    Google OAuth 2.0 端点的当前列表:

    https://accounts.google.com/.well-known/openid-configuration

    【讨论】:

    • 也许我需要更具体一些。是否已弃用以下端点:googleapis.com/plus/v1/people/me 这是我们目前用来获取电子邮件、用户名和姓氏的方法。
    • @Slawomir - 更新:本文详细介绍了正在关闭的内容 developers.google.com/+/api-shutdown。端点 people/me 被列为 Goole+ REST API 的一部分,该 API 是关闭的一部分。
    • 更新。我刚刚收到来自 Google 的以下信息:“2019 年 3 月 7 日,所有 Google+ API 和 Google+ 登录将完全关闭。这将是一个渐进式关闭,API 调用早在 2019 年 1 月 28 日就开始间歇性失败,而对 Google+ 范围的 OAuth 请求早在 2019 年 2 月 15 日就开始间歇性失败。”
    • @JohnHanley googleapis.com/oauth2/v3/userinfo?alt=json 在输出中没有键名“id”,但用户名包含在键名“sub”中
    【解决方案2】:

    2019 年 4 月之后 OAuth API 的未来是什么?

    Oauth 不是 api,它是一种身份验证协议。在这种情况下,身份验证响应用于访问谷歌 API。谷歌使用 Oauth2 进行身份验证不会在没有宣布以任何方式停止使用的情况下进行。我也不认为他们会据我所知这是对 API 进行身份验证的当前行业标准

    除了 OAuth,我们使用以下端点获取用户的电子邮件和姓名:https://www.googleapis.com/plus/v1/people/me 一旦我们获得访问令牌。这是端点吗

    Google people api 可能在 url 中包含术语 plus,但它与 Google plus 没有任何关系(除了非常糟糕的命名)。

    [文档]People api 可让您列出和管理经过身份验证的user's Contacts,并检索经过身份验证的用户及其联系人的个人资料信息。

    这实际上与 Google plus 无关,除了一些用户个人资料信息可能最初包含在 Google plus 中,我怀疑现在已经移动(但我没有证据)。 我确实向谷歌发送了一封电子邮件,要求澄清哪些端点正在关闭。

    关机

    那么关闭会发生什么

    people overview 会发生什么将是一个非常好的问题。他们可能会被重命名,但我怀疑他们可能只是像现在一样独自访问谷歌联系人。 (同样我对此一无所知)

    获取当前用户信息

    如果您想获取有关当前用户的信息,那么一个想法是使用 userinfo 端点。只要您请求配置文件范围,您就可以直接从身份服务器请求当前用户信息

    请求:

    GET /oauth2/v2/userinfo HTTP/1.1
    Host: www.googleapis.com
    Content-length: 0
    Authorization: Bearer qMgWQHD0MstTDVip7hIYipUpSQkxexF4-W0bI3geEaYk0ztVryYZyFRrZDFWkn69Hw3RlBjfOuXJ8df_iv5ATgW3y0BUkI0xMXeGq22qmfqG-4duSU
    

    回复:

    {
      "picture": "https://lh5.googleusercontent.com/-a1CWlFnA5xE/AAAAAAAAAAI/AAAAAAAAl1I/UcwPajZOuN4/photo.jpg", 
      "name": "Linda Lawton", 
      "family_name": "Lawton", 
      "locale": "en", 
      "gender": "female", 
      "link": "https://plus.google.com/+LindaLawton", 
      "given_name": "Linda", 
      "id": "117200475532672775346"
    }
    

    我怀疑其中一些情况会发生变化。例如,链接将无法再链接到 google plus。我想我会向谷歌发送一封电子邮件,看看他们打算对此做什么。

    如果您在验证用户时还请求了电子邮件范围,则电子邮件只会出现在响应中。

    更新

    关于 api 关闭的博文刚刚发布,并提供了有关关闭哪些 API 以及何时关闭的信息。

    被关闭的最常用 API 包括:

    • Google+ REST API

    • Google+ 网络 API

    • Google+ Android SDK

    • Google+ 域 API

    • Google+ 信息页 API

    这仍然没有解决人员 API 是 Google 联系人但属于 Google+ 其余 API 的问题

    https://developers.googleblog.com/2018/12/google-apis-shutting-down-march-7-2019.html?m=1

    【讨论】:

    • 感谢您的详细回答,虽然在第一段中有点冒昧,但也许我的问题也很模棱两可。当然,我并不是指该协议已停止使用,而是指 Google+ 停用的影响以及它如何影响他们的 OAuth API 或其中带有“加号”的端点。由于有 5000 万个帐户遭到入侵,因此他们决定关闭的时间还不确定。
    • 我的回答是为了让每个人都清楚,而不是对你放肆。我怀疑其他人会在接下来的几个月里遇到你的真棒问题,以确保没有混淆。我今天早上收到了 Google 的回复,目前尚未对 googleapis.com/plus/v1/people/me 端点做出任何决定。
    • 刚收到通知,plus.people.get 将被停用
    • 我已经链接到刚刚发布的博文。在 userinfo 端点响应中仍然没有关于链接的官方消息
    • 感谢@DalmTo 提供受影响的 API 列表!
    【解决方案3】:

    要从您的应用中禁用此 Google+ API,您需要转到 https://console.developers.google.com

    ...并导航到您正在使用 Google+ Api 的每个项目,然后点击 DISABLE

    这将删除来自 Google + API 的所有请求。

    【讨论】:

      猜你喜欢
      • 2015-08-21
      • 1970-01-01
      • 2017-04-24
      • 2011-09-24
      • 2021-06-27
      • 1970-01-01
      • 1970-01-01
      • 2011-03-07
      • 2011-11-05
      相关资源
      最近更新 更多