【发布时间】:2020-11-04 20:55:50
【问题描述】:
我们正在使用 Google OAuth 2.0 将用户登录添加到我们的移动应用程序(复数)。每个应用程序都有自己的客户端 ID,该客户端 ID 将在单独的 Google 云项目中定义,因为我们希望每个应用程序都有自己的登录同意屏幕,其中包含自定义磁贴、徽标等。但是,我们将所有应用程序的用户 ID 存储在一个单个数据库表。
考虑以下场景:2 个不同的用户 - Alice 和 Bob,其中 Alice 登录到 MyApp1,Bob 登录到 MyApp2(每个应用都在同一个 GCP 帐户下的不同 Google 项目中定义)。 Alice 和 Bob 是否有可能获得相同的用户 ID X?或者,Alice 是否有可能在登录 MyApp1 时获得分配的用户 ID X,并在登录 MyApp2 时获得用户 ID Y?
假设 Google 完全遵守 OpenID Connect 标准。 OpenID 标准说:
子 必需的。主题标识符。本地唯一且从不重新分配的标识符 最终用户的颁发者,旨在供客户端使用...
“本地唯一且永不重新分配”是什么意思?
TIA
【问题讨论】:
-
记住 Alice 和 bob 必须同时登录这两个应用程序。返回的令牌仅适用于为其创建的应用程序。如果您获得他们的个人资料信息,Google 会将他们的用户 ID 返回给您,您可以将其用作您的用户 ID,然后在应用之间建立链接。
标签: oauth-2.0 openid-connect google-oauth