我对SAML和WSO2的理解非常基础,所以提前抱歉。我想知道是否可以将对SSO服务的访问限制为用户子集?
答案 0 :(得分:3)
是的,您可以将对SAML SSO服务提供商的访问权限限制为用户子集。这确实是授权要求。当服务提供商将用户重定向到身份提供商(在本例中为WSO2身份服务器)时,服务提供商可以从Identity Server请求有关用户的声明(声明,如角色,电子邮件,年龄,国家等)。然后,在身份提供商处成功验证用户之后,身份提供商将这些声明值与SAML响应消息一起发送到SSO服务提供商。 SSO服务提供商可以阅读这些声明,并可以决定是否应该让用户访问该服务。 (例如,通过查看角色声明,如果使用具有特定角色,则SSO服务提供商允许用户,如果不拒绝)
答案 1 :(得分:0)
我认为根据SAML规范,身份提供者可以返回错误状态。它在SAMLResponse中有一个专门用于此的元素 - >状态。但据我所知,WSO2 Identity Server(最高5.0.0)并不能自动支持这种行为。应该更改WSO2授权代码以实现此行为......
来源: SAML 2.0 Overview - 第1131行,第3.2.2.2节元素
<samlp:Response
...<saml:Issuer>https://idp.example.org/SAML2</saml:Issuer>
<samlp:Status>
<samlp:StatusCode
**Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>**
</samlp:Status>
<saml:Assertion ...
而不是成功IdP可以返回: 金塔:绿洲:名称:TC:SAML:2.0:状态:AuthnFailed 或类似的......见: SAML2.0 handling SSO error