这实际上是this one的后续问题,仅提供了Stack Exchange特定答案。
我基于this SO answer设置了对Google的身份验证委派,特别是因为我希望能够换出身份验证提供程序,而无需转到使用自定义URI作为用户标识符的所有单个网站并修复它们。 Stack Overflow / Exchange是少数几个认为SO / SE用户可能拥有多个身份的网站之一,而其他人则根本没有。使用不同的OpenID登录对他们来说就像我以完全不同的人身份登录 - 一个新帐户;无法始终迁移到新ID或将多个ID链接到同一帐户。
我不想被困在认证提供商决定停止提供该服务的位置,基本上孤立我在其他网站上使用该ID创建的任何帐户。我也不想承担为我运行自己的身份验证服务所带来的维护负担。委托允许我保留我的明显身份(我的自定义URI提供一个页面,其中包含将身份验证委派给另一个提供者的链接),而不会将我绑定到该提供者。在任何时候我都可以换取谷歌换另一个提供商,但我给其他网站提供的URI将保持不变。
other question中提供的答案基本上是将Google ID添加到Stack Exchange帐户并完成,但这样可以避免核心问题。如果我将身份验证提供程序更改为支持OpenID 2.0的另一个身份验证提供程序,我无法保证他们不会在某个时候删除它。我可以找到一个开源认证OpenID 2.0提供程序,并在我的自定义OpenID URI所在的同一服务器上本地托管它,但我担心如果OpenID 2.0因为它没用/安全而被杀掉,那将变得站不住脚。我假设有一个很好的理由为什么OpenID 2.0被弃用了,我不想坚持它应该被杀死。
我的问题是:OpenID Connect是否仍然可以进行此类委托,如果是,如何进行?如果OpenID Connect无法实现,那么将来还会继续支持其他选项吗?
答案 0 :(得分:1)
OpenID Connect不支持OpenID 2.0中的委派,这意味着它不会为您提供持久标识符,您可以将身份验证委派给您选择的可配置提供程序。
还有其他选项主要依赖于依赖方:RP可以通过主要标识符不基于任何特定登录机制的方式实现帐户管理。这不仅可以将不同的OpenID Connect提供商与帐户相关联,而且还可以同时配置多个第三方身份验证提供程序(或身份验证方法)。
这就是SO所做的和大多数RP采用这种模式而不是单一的外部标识符模型,这种模式导致了OpenID 2.0委托的缓慢采用。当然,这种方法的缺点是,如果提供商已经停业,您必须使用密码或帐户恢复流程进入每个帐户以修改关联。