谷歌正在更新他们的OpenID Connect实施,以完全符合规范,对我来说有什么不妥吗?

时间:2015-04-23 17:30:32

标签: google-oauth google-openid openid-connect

Google已将其OpenID Connect端点更新为完全符合spec标准,这是OpenID Certification工作的一部分。我依靠OpenID Connect与Google签署我的用户。作为依赖方,我是否需要做任何事情以避免因这些变化而中断?

2 个答案:

答案 0 :(得分:4)

这取决于您如何使用OpenID Connect与Google。如果您按照文档的建议提取https://accounts.google.com/.well-known/openid-configuration来执行动态发现,那么您的服务器与Google 的互动方式将会发生变化,但只有当您的实施无法处理新版本时,您才会受到影响,更符合规范的回复。

另一方面,如果您直接硬编码了各种端点(即auth和令牌端点),那么您将与这些更改隔离开来,但您应该考虑迁移到新端点。

新端点的主要变化包括:

  1. Id令牌发布者(iss声明)从accounts.google.com更改为https://accounts.google.com(在迁移期间,您应接受任一值)
  2. 如果您的response_type包含id_token,则必须包含nonce,否则您的请求将会出现硬错误。
  3. 如果您使用符合规范的OpenID Connect库,那么理论上一切都应该像以前一样继续工作。

    为了避免在迁移期间出现任何可能的问题(或者如果您的网站突然中断),您可以对以下网址进行硬编码以获取上一个发现文档:https://google.com/accounts/o8/well-known-openid-configuration-old.json(或使用其中的值对您的身份验证进行硬编码和令牌端点)。由于此文档指向旧版本的端点,您将获得旧的行为。然后,您可以在闲暇时使用最新的端点(如当前discovery document中所示)测试您的产品。

    比较差异,或查看全新的&旧的,请参阅this gist

答案 1 :(得分:0)

我的猜测是这就是为什么当我登录https://myapps.developer.ubuntu.com/时,我有以下消息 “OpenID失败已禁用帐户”

我在Google开发人员身份网站上注意到以下消息“重要提示:不再支持OpenID 2.0。如果您的应用使用OpenID 2.0,则必须在截止日期2015年4月20日之前迁移您的应用,如下所示迁移时间表“

所以我的问题是Ubuntu谁应该在他们的服务器上更新那些东西?