Wik*_*hla 153
它们是两种不同的身份验证协议,它们在技术层面上有所不同.
从远处看,差异在用户启动身份验证时开始.使用OpenID,用户登录通常是负责身份验证的资源的HTTP地址.在另一方面,SAML是基于您的网站和身份提供者之间的明确的信任所以这是相当罕见的接受未知网站的凭据.
OpenID身份很容易搞定.作为开发人员,您可以接受来自非常不同的OpenID提供商的用户.另一方面,SAML提供程序通常必须提前编码,并且您只需将选定的身份提供程序与应用程序联合.可以缩小已接受的OpenID身份提供者列表,但我认为这将违反一般的OpenID概念.
使用OpenID,您可以接受来自任意服务器的身份.有人声称是http://someopenid.provider.com/john.smith.您将如何与数据库中的用户匹配?不知何故,例如,通过使用新帐户存储此信息,并在用户再次访问您的网站时识别此信息.请注意,有关用户的任何其他信息(包括他的姓名或电子邮件)都不可信任!
另一方面,如果您的应用程序与SAML Id提供程序之间存在明确的信任关系,您可以获取有关该用户的完整信息,包括名称和电子邮件,并且这些信息可以信任,这仅仅是因为信任关系.这意味着您倾向于认为Id Provider以某种方式验证了所有信息,您可以在应用程序级别信任它.如果用户带有由未知提供商颁发的SAML令牌,则您的应用程序只会拒绝身份验证.
(部分添加07-2017,扩展08-2018)
这个回答是2011年的,当时OpenID代表OpenID 2.0.后来,在2012年的某个地方,OAuth2.0已经发布,并在2014年发布了OpenID Connect(这里有更详细的时间表).
任何人阅读此时下- ID连接是不一样的OpenID原来答案是指,而这是一组扩展的OAuth2.0的.
虽然这个答案可以从概念角度来看一些启发,一个非常简洁的版本与OAuth2.0的背景有人来是ID连接是事实上OAuth2.0的,但它增加了一个标准的方式查询用户信息,访问令牌后是可用的.
参考原始问题 - OpenID Connect(OAuth2.0)和SAML之间的主要区别在于如何在应用程序和身份提供者之间建立信任关系:
SAML在数字签名上建立信任关系,由身份提供者发布的SAML令牌是签名的XML,应用程序验证签名本身及其提供的证书.除了其他信息之外,用户信息还包括在SAML令牌中.
OAuth2在从应用程序到身份的直接HTTPs调用上构建信任关系.该请求包含访问令牌(在协议流程中由应用程序获取),并且响应包含有关用户的信息.
OpenID Connect进一步扩展了这一点,使得可以获得身份,而无需涉及从应用程序到身份提供者的调用的额外步骤.这个想法是基于这样一个事实,即OpenID Connect提供商实际上发布了两个令牌,access_token一个是OAuth2.0,id_token另一个是由身份提供商签署的新签名,即JWT令牌.应用程序可以使用id令牌根据JWT令牌中包含的声明建立本地会话,但id令牌不能用于进一步查询其他服务,此类对第三方服务的调用仍应使用访问令牌.您可以将OpenID Connect视为SAML2(签名令牌)和OAuth2(访问令牌)之间的混合,因为OpenID Connect只涉及两者.
Pra*_*ena 86
OpenID和SAML2都基于联合身份的相同概念.以下是它们之间的一些区别..
Ali*_*aka 14
把技术细节放在一边,为聚会迟到,我明白SAML和其他auth标准(包括OpenID)之间的最大区别在于
SAML要求身份提供商(IDP)和服务提供商(SP)在事先了解彼此,预配置,静态身份验证和授权.OpenId(+ Connect)没有这样的要求.
这对于希望完全控制谁访问数据的国内流离失所者来说非常重要.标准的一部分是配置提供给特定SP的内容.
例如,银行可能不希望其用户访问除某些预定义服务之外的任何服务(由于法规或其他严格的安全规则).
这并不意味着OpenId IDP不能强制执行这样的限制.OpenID实现者可以控制访问,但这不是OpenID的目的.
除了预定义的,严格的,静态的,访问控制差异,概念上(不是技术上),OpenID Connect和SAML是相似的.
最重要的是,如果您是SP,您应该支持客户的要求:
SAML和OpenID都可以充当身份提供者(缩写为IdP),即分散式身份验证协议(单点登录身份)。
该小号 ecurity 甲 ssertion 中号 arkup 大号 anguage(SAML)是一组用于在安全域交换认证和授权数据型材。在SAML域模型中,身份提供者是一种特殊的身份验证授权。具体来说,SAML身份提供者是与SAML的SSO配置文件一起发出身份验证断言的系统实体。消耗这些身份验证断言的依赖方称为SAML服务提供程序。资源
ø笔ID Ç ONNECT(OIDC)是上的OAuth 2.0,授权框架之上的认证层。该标准由OpenID Foundation控制。OAuth用于授权协议,而不是专门用于身份验证协议的身份验证协议和OpenID。OIDC使用简单的JSON Web令牌(JWT),它们更易于被JavaScript使用。
如果您的用户可能只想使用Facebook或Twitter登录,请使用OAuth。如果您的用户因为自己“不想让任何人拥有自己的身份”而运行自己的OpenID提供程序的胡须,请使用OpenID。
| 归档时间: |
|
| 查看次数: |
64249 次 |
| 最近记录: |