这很令人困惑,我知道。您需要做的是为您的应用程序的 SAML 配置使用特殊的 SimpleSAMLphp URL。
特别是,您在 Okta 中使用的 URL 需要指向特定的 SimpleSAMLphp URL。
这是我如何在 Okta 中配置 SimpleSAMLphp 的屏幕截图:
在此示例中,“单点登录 URL”simplesamlphp/www/module.php/saml/sp/saml2-acs.php/example
的 URL 以 结尾,“受众 URI(SP 实体 ID)”的 URL 以simplesamlphp/www/module.php/saml/sp/metadata.php/example
. 这些 URL 将特定于您在 Web 服务器上安装 SimpleSAMLphp 的位置。
请注意,这些 URL 都指向 SimpleSAMLphp 端点,并且它们几乎是相同的 URL,除了一个指向,saml2-acs.php
另一个指向metadata.php
. 在这两个示例中,字符串“example”是指您用于在config/authsources.php
文件中配置 SAML IdP 的字符串,并通过扩展名来指代metadata/saml20-idp-remote.php
文件。
“Default RelayState”字段是您希望在 URL 中输入PHP 代码的位置,即您编写的包含 SimpleSAMLphp 的文件。这是您要放置http://service.example.com/Analytics/ui/onboard.php
URL 的位置。
配置 SimpleSAMLphp
我发现在 SimpleSAMLphp 中向config/authsources.php
和metadata/saml20-idp-remote.php
文件添加配置过于复杂,因此我编写了一些代码来简化配置。此代码及其使用说明可在 GitHub 上找到:https ://github.com/jpf/okta-simplesamlphp-example