1

作为 IDP,我如何更改 WSO2 IS 的身份?它似乎总是称自己为 localhost!

一些上下文...

我已经部署了一个 IS,并正在尝试使用 SAML2 对其进行身份验证。

我可以在互联网上找到的每个示例都将 IS 部署在与 SP 相同的服务器上,因此 IS 位于 localhost 上!(顺便说一句,我确实在一台计算机上进行了有效的 IS-SP 登录)

但这不是我的情况,SP 和 IS 在两个不同的虚拟机上。当我尝试进行身份验证时,登录后,我收到一个错误:原因:SimpleSAML_Error_Exception:无法检索 IdP 'localhost' 的元数据,因为它不是此 SP 的有效 IdP。

我认为这个错误是在 SP 方面,由 simpleSamlPhp 生成的。

据我了解,这意味着: * SP 使用给定的 IDP id(不是本地主机!)和 SP id 调用 IDP (IS) * IDP 设法向我们询问登录名/密码 * IDP 发送 SAML2 消息到SP -> 在这里,IDP 可能称自己为“localhost” * SP 尝试获取 localhost 的配置(元数据?)但找不到任何!

那么问题来了:如何更改 IS 用来回答的 IDP id?

我已经更改了 carbon.xml 中的服务器名称,并且更改了在 identities.xml 中可以找到的每个 localhost,但无济于事。

感谢您的任何提示!

4

1 回答 1

3

在 WSO2 IS 的管理门户中

  1. 转到 Main / Identity Providers / List
  2. 点击“居民身份提供者”
  3. 展开“入站验证配置”
  4. 展开“SAML2 Web SSO 配置”
  5. 填写“身份提供者实体 ID:”

请注意,在不知道关键字“居民”的情况下,我没有在任何文档、网页或博客中找到此信息。所有示例均随 localhost 提供。此配置存储的位置不直观:转到“身份提供者”会显示“未注册身份提供者”消息,因此很容易忽略这是此配置所在的页面。该链接看起来像一个标题。微妙,但可能会浪费很多时间!:-)

WSO2 制作了很棒的产品,但教程和文档会受益于更加开放或多样化,我不知道。例如,可以调用端点“localhost/saml”,但还有其他方法可以调用它吗?会发生什么变化?是否有一个部署示例,其中包含许多奇怪且不同的字段值,“foo”,“bar”等?

希望这对其他人有帮助,至少通过谷歌搜索!:-)

于 2014-08-22T09:59:04.187 回答