我对基于声明的身份及其与OAuth的区别的理解是否正确?

时间:2015-03-26 11:44:37

标签: authentication oauth claims-based-identity

reading关于微软基于声明的身份后,我不了解它与OAuth相比带来了什么(因此,使用基于声明的身份而不是OAuth更好)。

根据this Stack Overflow answer

  

基于声明的身份是一种将应用程序代码与身份协议的细节分离的方式[而] OAuth是一种特定的协议。

This other answer声称:

  

OAuth

需要基于声明的安全性

所以看起来像:

  • 基于声明的身份更像是一种架构,而OAuth是一种协议。

  • 基于声明的身份接受多种协议,包括OAuth。

  • OAuth使用基于声明的身份。

显然:

  • 基于声明的身份可以在Web应用程序之外使用,

  • 基于声明的身份是面向Microsoft的,这意味着对Microsoft产品(如SharePoint)提供出色的支持,但在其他环境(例如Linux服务器上托管的Python应用程序)中支持较弱,

这意味着在公司内的公司Web,桌面和移动应用程序中使用基于声明的身份有很大的好处,该公司严重依赖于Microsoft技术,需要提供基于Active Directory和其他提供程序的身份验证机制,例如合作伙伴的OAuth提供商。

我对基于声明的身份的理解是对吗?

1 个答案:

答案 0 :(得分:1)

我在文本中看不到任何不正确的内容。

您还可以将声明称为:“签名的属性 - 名称 - 值对”。发行人“声称”它是正确的。属性 - 值对本身可以在任何新的“声明”术语之前进行,并且被广泛使用(以不同的名称)。

是的,Microsoft现在是完全属性 - 价值对(声称,如果你坚持这个好词)。进入脚趾钉,甚至原生的Kerberos令牌现在都有它们。在过去,它只是SID和特权。在.NET中,现在一切都是ClaimsIdentity。