是否所有 OpenID Connect 提供商都统一实施?

Do all OpenID Connect Providers implement uniformly?

使用 OAuth 2.0 的挑战之一是规范的可变性意味着每个提供商实现 OAuth 的方式略有不同。如果我想为 OAuth 编写一个消费者,我需要为我想要实现的每个提供者做一些非常具体的编码。

说 OpenID Connect 的定义足够狭窄以避免这个陷阱是否准确?一个单一的通用 OIC 消费者库是否应该能够连接到任何经过认证的 OIC 提供者,而无需为每个提供者定制代码?

提前致谢!

[编辑] - 语法

当使用 OAuth 2.0 进行用户身份验证时,您 运行 陷入了您所描述的陷阱,也记录在此处:http://oauth.net/articles/authentication/,即每个提供商都必须实施自己的扩展以适应 OAuth 2.0该用例是因为 OAuth 2.0 不是为用户身份验证或 Web SSO 而设计的。

但是,当使用 OAuth 2.0 的 OpenID Connect 配置文件时,您确实可以使用通用 OpenID Connect Client/RP 针对任意提供者来验证用户身份,前提是两者都遵循规范。例如,请参阅:https://github.com/pingidentity/mod_auth_openidc