-1

我有以下方法:OAuth、SAML、OpenID Connect、XACML、Shibboleth。

他们是否致力于授权客户端使用 Web API?在实践中,哪一个是最好的?

他们都支持JSON吗?

4

1 回答 1

3

这些是具有不同目的的不同标准。

  • OAuth 是关于授权委托,例如我授予 Twitter 在我的 Facebook 帐户上发帖的权利。除了 OAuth 之外,还可以查看 UMA(用户管理的访问权限)。
  • OpenID Connect (OIDC) 是 OAuth 2.0(一个授权框架)之上的一个身份验证层。它将 OAuth 和 OpenID 结合在一起。
  • XACML 是一种基于属性和策略的访问控制/授权标准。它是关于定义管理对资源的访问的访问控制策略。
  • Shibboleth 是/曾经是基于 SAML 的联合协议。
  • SAML 是跨多个企业的身份联合的事实标准。

OAuth、OpenID Connect、SAML 和 Shibboleth 专注于用户身份、身份验证和联合。

XACML 专门用于访问控制/授权,可以与任何其他标准结合使用。

这些标准中的任何一个是否支持 JSON 都是一个模糊的问题。做什么的?SAML,AFAIK,通常是 XML 编码的,但标准本身与它的编码无关。XACML 通常使用 XML 作为其策略,但访问控制流可以表示为 JSON。在 OpenID 中,可以使用 JWT,即 JSON Web Token。

JSON Web Token (JWT) 是一种表示要在两方之间转移的声明的方法。JWT 中的声明被编码为 JSON 对象,该对象使用 JSON Web 签名 (JWS) 进行数字签名和/或使用 JSON Web 加密 (JWE) 进行加密

您可以查看 2 个网站以了解更多信息:

于 2015-05-26T12:09:27.517 回答