OKTA 与 Shibboleth SP 的集成问题

OKTA integration issue with Shibboleth SP

我正在做一个 POC,我需要将 Shibboleth SP 与 OKTA idp 集成 provider.I 已完成 OKTA 官方网站上针对此集成记录的以下所有步骤。

  1. 安装 Shibboleth 服务提供商 2.Configure 使用 Shibboleth 的网络服务器 3.Configure 保护特定文件夹的 Shibboleth 创建 Okta SAML 2.0 模板应用程序 4.Modify Shibboleth 使用从 Okta 应用程序获得的元数据 5.Modify Shibboleth 中的 attribute-map.xml 文件 设置适当的 header 变量 6.Restart 一切

但是我需要修改 atrribute-map.xml 的第 5 步缺少详细信息。当我启动受保护的 URI(托管在 apache 上)时,它被重定向到 OKTA 登录页面。但是在用户输入 user-id 和密码并单击登录后,我的浏览器上出现了一个微调器,它永远不会将我带到托管在 Apache 上的受保护站点 URI。非常感谢在 Shibboleth SP 中修复此 attribute-mapping 的任何线索。

如果页面没有被重定向到 SP,则问题不一定与属性有关-map.xml

  • 端点可能配置不正确。查看 {web app uri}/Shibboleth.sso/Metadata 查看是否正确定义了端点 URL。
  • 检查Shibboleth2.xml是否正确定义了 entityID,这是 Shibboleth 正在保护的 Web 应用程序。
  • 检查 {web app uri}/Shibboleth。sso/Session 如果所有属性都是从 Okta 发送的,这会显示。您也可以通过更改 Shibboleth2.xml 使其显示值,因为它只是 POC。
  • 最后是属性-map.xml,您可以在其中配置与 Okta 达成一致的属性。这里有一些默认属性,如 NameID 是预先配置的。您可以在 attribute-map.xml 和 /Shibboleth.sso/Session 中查看格式以及相应使用的代码。例如 formatter="$NameQualifier!$SPNameQualifier!$Name"

如果您要添加自定义属性,只要名称与 Okta 发送的属性名称匹配,如下所示的简单元素就应该可以工作。

此问题已通过在 OKTA 端进行正确配置得到解决。OKTA 提供 sam2.0 模板应用程序以与 shibboleth 集成。此模板应用程序的以下参数已正确配置。

  • Post返回URL-
  • 名称 ID 格式 - 瞬态
  • 收件人 -
  • 观众限制 -
  • authnContextClassRef - PasswordProtectedTransport
  • 响应 - 签名
  • 断言 - 已签名
  • 请求 - 压缩
  • 目的地 -
  • 属性声明 - 用户名|${user.userName}

那么我们的整合就成功了