摘要
- 谷歌在2014 年 2 月宣布,将在 2015 年 4 月 20 日结束 OpenID 2.0 支持,转向 OpenID Connect。其2015 年 3 月的提醒指出,未完成迁移的应用可能失去与谷歌连接的能力,包括用户登录,直至采用受支持的协议。
- OpenID Foundation 于 2015 年 4 月 16 日批准最终迁移规范。规范要求网站先验证新的签发者和主体身份对旧 OpenID 2.0 标识的主张,再把现存账户与新身份关联。
谷歌管倒计时,网站管账户账本
谷歌在2014 年 2 月的公告里欢迎 OpenID Connect 成为正式标准,同时给旧协议写下截止日期:2015 年 4 月 20 日。它准备把联合登录集中到新协议,也介绍了自己的接入工具。距离关停尚有一年多,计划并不隐蔽。但时间由身份提供者决定。依靠谷歌登录的网站可以安排改造,却不能要求谷歌为自己的旧入口无限续期。
网站里的账户不是一张登录按钮。一个旧标识后面可能挂着订单、会员资格、文件、收藏或权限。OpenID 2.0 给依赖方的是经过验证的“所主张标识”;网站可能直接用它作为账户键。OpenID Connect 则用签发者和主体这一对值表示身份。持有人或许是同一个人,键的格式却变了。只让新登录成功,可能给老用户建立一个空白新账户;随意把两个键合并,更可能把旧账户打开给别人。
谷歌在2015 年 3 月 20 日再次提醒开发者。OpenID 2.0 与几种旧协议将于 4 月 20 日停用。未迁移的应用可能无法再与谷歌连接,甚至影响登录,直到迁移完成。公告预告的是停用造成的风险,没有提供事后故障人数。它说明了谷歌掌握哪项实际权力:关掉由自己运营的旧认证入口。
关门前四天,最后一版规则落定
2015 年 4 月 16 日的表决批准了 OpenID 2.0 到 OpenID Connect 的最终迁移规范:28 票赞成、零票反对、四票弃权。距离谷歌既定停用日还有四天。这不是工程师全部可用的工期;谷歌前一年已公布计划,规范本身还把条文与谷歌 2014 年 6 月的迁移指南逐项比较。四天指的是共同规则获得最终批准之后,平台旧入口仍计划开放的时间。
规范正文从两个标识的差别入手。旧账户使用 OpenID 2.0 中经过验证的标识;新身份是 OpenID Connect 的签发者与主体组合。网站在认证请求中增加 openid2 范围,要求提供者同时给出新旧身份。如果提供者保存着该用户对应的旧标识,就在 ID Token 中以 openid2_id 返回。网站先验证令牌,再问令牌的签发者是否有权代表那个旧标识。这是连接旧账本与新凭证的关键一步。
最终规范给出了核验路径。在受限的同一授权主体场景下,旧端点与新授权端点的主体可以直接对照;否则,网站要以 Accept: application/json 请求旧标识的地址,取回其中的 iss,并与 ID Token 中的签发者作严格相等比较。XRI 标识另有路径。权威性核验失败时,网站不能接受旧标识用于关联。核验成功之后,规范才建议把已有 OpenID 2.0 账户与新的 OpenID Connect 标识绑在一起。最后改变的是网站自己的账户记录,而非谷歌页面上的按钮。
附录 B还记录了规范与谷歌 2014 年 6 月指南的差异。按规范作者的比较,谷歌指南使用 openid.realm,最终规范选择 openid2_realm;指南使用 openid_id,规范选择 openid2_id。附录还称,旧指南未执行最终文本所写的依赖方及旧标识授权主体核验。这是规范对一份有日期的指南的对照,不是对谷歌所有实际部署的测量。它说明为什么身份迁移需要公共规则:谁能说“这个旧账户是我的”,不能只由新凭证自己宣布。
这些一手记录没有统计完成迁移的网站,也没有列出错绑账户的案例;核对这些结果需要各网站的迁移日志与测试。记录已经明确分工:谷歌能按日历关掉旧协议,保存用户历史的网站要自己证明新身份应进入哪一行旧账户。
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限战略圈层会员
战略圈层
所有读者均可浏览。加入并登录后可解锁档案简报。
加入战略圈层仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance





