我知道SAML可以用于用户身份验证,但是用户具有的权限级别又如何呢?它也可以用于授权吗?如果没有,那么开源授权软件的最佳替代品是什么?
SAML是一种协议,可用于交换任何信息,包括与授权相关的“东西”。例如,在一个非常简单的基于角色的访问控制方案中,身份提供者发出的SAML声明可以包含表示为属性(或单个多值属性)的用户角色。然后,服务提供者可以提取角色并使用它们来授权对某些资源的访问。
XACML是另一个协议,专门用于以可互操作和声明的方式处理访问控制的某些方面。它很少使用,并且比SAML流行得多。
oAuth通常用于访问授权,尤其是在具有API的REST世界中。
oAuth和XACML都可以与SAML共存或独立使用。
SAML不会明确进行授权。它只是提供SAML令牌中的属性,并且取决于如何处理这些属性。
WS-Federation也是如此。
对于OAuth2,它提供的“属性”有所限制。而且您仍然必须进行身份验证OpenID Connect。