我如何针对来自身份服务器的 SAML 断言授权用户(Wso2is 5.4.0)

Posted

技术标签:

【中文标题】我如何针对来自身份服务器的 SAML 断言授权用户(Wso2is 5.4.0)【英文标题】:How can i authorized a user against SAML Assertion coming from Identity server(Wso2is 5.4.0) 【发布时间】:2018-11-16 04:02:22 【问题描述】:

我正在使用 Spring SAML2.O 和 WSO2IS::

在 IDP 中成功认证后,它会发送一个 saml 断言(携带用户的所有信息,如用户名、角色等)作为对服务提供商的响应的一部分。

我想要的是,我想根据角色授权用户。那么我如何从 saml 断言中获取用户的角色并获得授权并将访问权限授予我的服务提供商。

这是我的 SAML 断言:-

你的帮助将拯救我。 提前致谢

【问题讨论】:

【参考方案1】:

如果想通过 WSO2IS 进行授权,它已经融入其中,尽管有几种方法可以根据您的需要进行处理。作为一般性答案,您可能想查看Post Authentication Handlers。

您不一定需要编写自己的处理程序。您提到想要从 SAML 断言中读取角色,但如果您只想按角色进行基本授权,为什么不让 WSO2 为您检查呢?您可以在 IS 的本地和出站身份验证下通过enabling authorization on the service provider 应用XACML policy。

如果这些选项都不适合您,您仍然可以通过using REST calls 管理对 PDP 的授权。

【讨论】:

以上是关于我如何针对来自身份服务器的 SAML 断言授权用户(Wso2is 5.4.0)的主要内容,如果未能解决你的问题,请参考以下文章

在没有浏览器的情况下对WSO2 Identity Server进行身份验证,并获取SAML2断言消息

无法针对架构验证 SAML 2.0 断言

如何使用 SAML 2.0 响应进行特定 DNN 用户角色组身份验证和授权?

如何设置本地测试 SAML2.0 身份提供程序?

创建 WCF 休息服务以接受 SAML 并对 Windows 用户进行身份验证

服务提供者之间的 SAML 2.0 身份验证断言(C#、.net、MVC4、组件空间)