首先,我应该说明Google是一个SAML提供商,也是一个OpenID提供商。就stackoverflow而言,如果他们愿意使用SAML 2.0进行SSO,那么他们需要事先将stackoverflow与Google或其他SAML提供商绑定。当stackoverflow绑定了许多SAML提供商时,当用户尝试登录时,stackoverflow需要一种机制来确定它应该将用户重定向到哪个身份提供商进行身份验证。(您可以使用SAML 2.0配置文件,第4.3节身份提供商发现配置文件)。但无论如何,这都是一个痛苦的实现过程。但是使用OpenID,它有自己的发现配置文件,stackoverflow不需要事先知道身份提供商,没有直接绑定。因此,他们正在使用正确的协议。
据我所知:OpenID 允许一个网站(如stackoverflow)使用来自不同 OpenID 提供商的身份标识(但这并不意味着共享身份)。SAML(/w 联合)允许身份在不同的服务提供商/网站之间共享。