【问题标题】:Google Identity Platform OAuth serverGoogle 身份平台 OAuth 服务器
【发布时间】:2022-01-07 13:25:57
【问题描述】:

我想使用 Google Identity Platform 作为我们基于 GKE 的云服务的 CIAM 解决方案。我们要求允许第 3 方使用他们通过 OAuth 获得的凭据访问我们的云 API。

例如,我们的云服务提供了 Google Assistant 或 Amazon Alexa 可以代表我们的用户访问的 API。因此,我们希望提供一个基于 OAuth 的令牌管理器,该管理器使用 Google 身份平台中定义的客户身份。

这种类型的 OAuth 服务是否可以使用 Google Identity Platform 或驱动它的底层 Firebase 服务?

【问题讨论】:

  • 用户是否使用谷歌账户?
  • @MabelA。 - 拥有谷歌帐户不是必需的。我们希望让用户直接在我们的平台上创建帐户。

标签: google-cloud-platform google-identity


【解决方案1】:

根据Google Assistant 的文档,您需要实现自己的 OAuth2 端点。在授权代码流程中,您需要两个端点:

  1. 身份验证端点需要让用户登录并获得他们的许可,以允许第三方(例如 Google)代表他们调用客户的 API。如果用户授予权限,则他们会返回一个授权代码 - 可以由 creating a custom token 使用 Cloud Identity Platform 实现。

  2. 令牌交换端点也是需要的,它有两个功能。第一个是由第一个端点创建的exchange the authorization code,用于刷新令牌和ID 令牌。第二个是 exchange a refresh token 获取新的 ID 令牌。这两个功能都可以委托给 Cloud Identity Platform。

补充说明:

我建议使用custom claims 以确保这些令牌只能用于预期目的,即。执行 Google 助理需要执行的操作。不应允许用户执行其他操作,例如。更改用户密码或向其他第三方提供授权码。

还要确保此端点不能被恶意第三方使用。例如,您可以检查提供的重定向 URL 是否与预期匹配,因为这是授权代码将发送到的位置。

【讨论】:

    猜你喜欢
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-24
    • 1970-01-01
    • 1970-01-01
    • 2010-10-21
    • 2012-05-31
    相关资源
    最近更新 更多