授权基于Web的API请求

时间:2015-05-26 04:23:35

标签: oauth-2.0 openid-connect xacml xacml3

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

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

他们都支持JSON吗?

1 个答案:

答案 0 :(得分: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令牌。

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

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