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

Is my understanding of Claims-based identity and its difference with OAuth correct?

reading 了解 Microsoft 的基于声明的身份后,我不明白与 OAuth 相比它带来的更多(因此使用基于声明的身份而不是 OAuth 在哪里更好)。

根据this Stack Overflow answer

Claims-based identity is a way of decoupling your application code from the specifics of identity protocols [while] OAuth is a specific protocol.

This other answer 声称:

Claims-based security is required with OAuth

看起来像:

显然:

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

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

我看不出你这部分的文字有任何错误。

您也可以将索赔视为:"signed attribute-name-value pairs"。发行人 "claims" 认为它是正确的。属性值对本身早于任何新的 "claims" 术语并且被广泛使用(以不同的名称)。

是的,Microsoft 现在完全是属性值对(如果您坚持使用漂亮的词,则声称)。进入脚趾甲,甚至原生 Kerberos 令牌现在也有它们。过去只是 SID 和特权。在 .NET 中,现在一切都是 ClaimsIdentity。