使用 WSO2 身份服务器 5.1 进行单点登录

Single Sign On with WSO2 Identity server 5.1

我正在开发一个包含一些应用程序的项目。我必须使用 WSO2 身份服务器实现单点登录。 我不知道如何设置用户授权,让用户只有在有权访问某些应用程序(服务提供商)的情况下才能登录单点登录页面。有什么想法吗?

在 WSO2 身份服务器中,您可以为每个应用程序创建服务提供者。然后 configure SAML2 SSO 在所有服务提供商中,为每个应用程序提供断言消费者服务 (ACS) URL(即回调 url)。这将在这些应用程序中启用 SSO。

在每个断言消费者服务中,您可以从 SAML 响应中读取已登录用户的 username/roles 等,并决定是否应允许用户登录应用程序。

您可以参考 [1] 为您的客户端应用程序设置服务提供商配置。然后您可以在服务提供者中配置声明,以便身份服务器发送的 SAML 响应包含所需的声明。你可以参考[2]。然后,您可以在 SAML 响应中包含要接收的角色声明作为用户的属性 [3]。现在,您可以从您的客户端应用程序读取 SAML 响应并了解授予用户的角色。根据角色,您的应用程序应决定允许该用户的授权级别。

[1] http://tharindue.blogspot.com/2015/04/setup-travelocitycom-sample-web-app.html

[2] http://tharindue.blogspot.com/2016/08/retrieving-user-claims-in-saml-response.html

[3] http://tharindue.blogspot.com/2016/09/saml-multi-valued-attributes-in-wso2.html