【问题标题】:Spring Security SAML with wso2 IS带有 wso2 IS 的 Spring Security SAML
【发布时间】:2017-04-06 13:34:50
【问题描述】:

我正在尝试使用 spring security 和 wso2 身份服务器 5.1.0 集成(SSO)多个服务提供商我已经根据 blog 将 spring security SAML 示例与 Wso2 IS 集成,仅用于一个服务提供商并且它运行完美很好,但我无法为多个服务提供商进行 SSO。我已经检查了所有内容,但没有运气。

请在下面找到我认为应该是什么,但我不知道如何实现这一点。

WSO2 IS:创建了一个具有唯一 SAML 颁发者 ID(例如 spring-security)的服务提供者,它将被不同的服务提供者用于 SSO。

SP1 : 服务提供者应该发送带有问题 id(spring-security) 和断言消费者 url(例如 localhost:8080/...) 的 Authn 请求。

SP2 : 服务提供者应该发送带有问题 id(spring-security) 和断言消费者 url(例如 localhost:8181/...) 的 Authn 请求。

Authn 请求中的颁发者: http://localhost:8080/spring-security-saml2-sample/saml/metadata

即使我也不确定这个 issuer 是如何生成的。

请帮忙。

【问题讨论】:

  • 发行者应由您的 SP 元数据文件中的“EntityId”值生成。
  • 感谢 Bernhard 的回复,在这期间我浏览了“spring-security-saml2-core”的代码,发现它是由我更新的文件“MetadataGeneratorFilter”中的默认元数据设置的springSecurity 上下文文件。要使用 WSO2,只需更新以下配置

标签: spring-security wso2 single-sign-on wso2is spring-saml


【解决方案1】:

您必须为每个服务提供商使用不同且唯一的实体 ID。在 Identity Server 中,您需要相应地创建多个服务提供者(在您的情况下为 2 个)以使 SSO(和 SLO)正常工作。

假设您将两个 SP 的实体 ID 更改为 spring-security-1 和 spring-security-2。您将需要在 IS 中创建 2 个服务提供商,如下所示。

SP1 -> 发行者:spring-security-1,ACS url:localhost:8080/...

SP2 -> 发行者:spring-security-2,ACS url:localhost:8081/...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-23
    • 2016-12-05
    • 2018-02-26
    • 2021-12-18
    • 2013-03-02
    • 2015-06-20
    • 2015-01-30
    • 2015-07-19
    相关资源
    最近更新 更多