当前位置: 首页 > 知识库问答 >
问题:

带有wso2 IS的Spring Security SAML

丰辰沛
2023-03-14

我正在尝试使用spring security和wso2 identity server 5.1.0集成(SSO)多个服务提供商。根据博客,我已经将spring security SAML示例与wso2集成在一起,仅针对一个服务提供商,并且运行良好,但我无法为多个服务提供商执行SSO。我什么都查过了,但运气不好。

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

WSO2是:创建了一个具有唯一SAML颁发者id(例如spring security)的服务提供商,该id将从不同的服务提供商处用于SSO。

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

SP2:服务提供商应该发送具有问题id(Spring Security性)和断言使用者url(例如localhost:8181/…)的Authn请求。

身份验证请求中的颁发者:http://localhost:8080/spring-security-saml2-sample/saml/metadata

即使我也不确定这个发行人是如何产生的。

请帮助。

共有1个答案

能可人
2023-03-14

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

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

SP1-

SP2-

 类似资料:
  • 我们打算更改user-mgt.xml文件的摘要属性,以更改密码的存储方式(WSO2IS 5.3.0) 我很好奇WSO2IS是否会自动处理现有用户的升级,或者我是否需要遵循与这里概述的类似的过程。 编辑:我还会注意到,我们将开始盐密码以及。到目前为止,我的方法(同样假设wso2不会自动处理此问题)将是添加一个新的本地身份验证器,它将在基本身份验证器之前更新密码,而不使用SALT。

  • 我试图在Android中使用WSO2和OAuth开发一个应用程序。当我在MainActivity中创建WebView时,我编写了一个lollowing代码:

  • 我目前正尝试在我正在运行的WSO2IS5.3.0部署上使用secrets manager。打开配置后,我在启动WSO2时会出现以下错误 我相信这个提交https://github.com/wso2/carbon-kernel/commit/213bacaa7ecdd5a16ce1b73f8333c35ef136ce65(主要是最后一部分)已经解决了这个问题,所以我正在尝试替换我的org.wso2.

  • 我正在尝试自动化我的Wso2 5.3.0配置,以便根据我们的需要更容易地设置Wso2实例。 是否可以通过某个配置文件来配置服务提供程序,而不是通过管理面板来进行配置?

  • 我正在尝试弄清楚如何使用WSO2身份服务器为SSO设置我的应用程序。我的用例是我有 2 个应用程序由使用 WSO2IS 的 OAuth/OpenId Connect 保护。如果我已登录到应用程序 1,则启动应用程序 2 应该会自动登录。流程应该是什么? 目前,我已经创建了2个服务提供商,每个应用程序一个。每个服务提供者入站身份验证配置都是使用OAuth/OpenId Connect配置的。我还需要

  • 我相信在我的应用程序中看到了一些标识声明的缓存,该应用程序使用WSO2IS5.3.0。当通过UserStoreManager.SetUserClaimValues(例如,http://wso2.org/claims/identity/AccountDisabled)更改标识声明时,该更改需要一些时间才能反映在随后对UserStoreManager.GetUserClaimValues的调用中 我搜

  • 现在我的问题是,如何在自定义的而不是自定义的中重写方法?我没有在这里公布我的代码,因为它与链接的代码本质上是相同的,只是我需要为子创建一个自定义的来代替,这样它就可以按照“pptang”的答案所述进行正确的度量。 否则,有没有比在第二个RecyclerView中使用1个RecyclerView更好的方法?只能有1个RecyclerView使用上述列表和每个中唯一项的网格填充活动/片段吗?

  • 问题内容: 两者之间到底有什么区别 和 第一个只是加快字段初始化速度的捷径吗?有性能方面的考虑吗? 问题答案: 第二种形式总是创建一个空的地图。 第一种形式是地图文字的特殊情况。地图文字允许创建 非空 地图: 现在,您的(通用)示例: 是没有初始值(键/值对)的地图文字。它完全等同于: 此外,这是为地图指定初始容量(大于初始分配的元素数量)的唯一方法。例: 将创建一个地图,该地图具有足够的空间来容