8

我正在评估 Google 提供的用于在我的 Web 应用程序中添加 google 登录的可能选项。我看到的可能选项是

  1. Google+ 登录
  2. OAuth2.0
  3. OpenID 连接(OAuth2.0 用于登录)

我没有选择第一个,因为它将我一天内可以进行的 API 调用限制为 10000

在 2 和 3 中,我倾向于选择第 3 名。我真的不需要 API 授权,我也不担心访问令牌过期。一旦我从谷歌收到用户资料,我的网络应用程序将管理自己的用户会话,并且不需要向谷歌查询与用户相关的任何其他数据。根据 Google 文档,#3 允许我自定义用户同意屏幕,而 1 和 2 则不允许。

对我在 2 和 3 之间的比较有何评论?

4

1 回答 1

9

事实上 2. 由 OAuth 2.0 的 Google 特定用法/扩展组成,以在核心 OAuth 2.0 提供的授权之上建立用户身份。使用 2. 您必须确保仅在code流中接收访问令牌,并且您必须执行 Google 特定的自省调用以查明用户是谁,以及在 Google 特定声明中返回用户身份的位置。

另一方面,3。是通过 3rd-party 提供商登录用户的标准化方式,因此它是一个未来安全的选择,您会在 library/sdk 中找到更多支持(至少在不久的将来)。

于 2015-01-13T08:33:47.183 回答