【问题标题】:Infinite Redirect with OKTA使用 OKTA 进行无限重定向
【发布时间】:2015-07-09 07:37:57
【问题描述】:

我有一个简单的 php 应用程序,它显示了一个用于用户入职的表单。我使用 SimpleSamlPhp 作为 SP,使用 OKTA 作为 IDP。当我访问应用程序的 url 时,我得到一个无限重定向。这些是我在 OKTA 中的设置:

我的应用程序的网址是:http://service.example.com/Analytics/ui/onboard.php。为 PostBack url、destination、receiver 和 Audience Restriction 设置了相同的 url 在 SP 端,我有这段代码:

require_once('/Applications/XAMPP/xamppfiles/htdocs/simplesamlphp/lib/_autoload.php'); $as = new SimpleSAML_Auth_Simple('default-sp'); $as->requireAuth();

我有什么遗漏的吗?

【问题讨论】:

    标签: saml-2.0 simplesamlphp okta


    【解决方案1】:

    这很令人困惑,我知道。您需要做的是为您的应用程序的 SAML 配置使用特殊的 SimpleSAMLphp URL。

    特别是,您在 Okta 中使用的 URL 需要指向特定的 SimpleSAMLphp URL。

    这是我如何在 Okta 中配置 SimpleSAMLphp 的屏幕截图:

    在此示例中,“单点登录 URL”的 URL 以 simplesamlphp/www/module.php/saml/sp/saml2-acs.php/example 结尾,“受众 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 文件中的字符串。

    “默认 RelayState”字段是您希望在 URL 中输入 您的 PHP 代码的位置,即您编写的包含 SimpleSAMLphp 的文件。这是您要放置@987654321@ URL 的位置。

    配置 SimpleSAMLphp

    我发现在 SimpleSAMLphp 中向config/authsources.phpmetadata/saml20-idp-remote.php 文件添加配置过于复杂,因此我编写了一些代码来简化配置。此代码及其使用说明可在 GitHub 上找到:https://github.com/jpf/okta-simplesamlphp-example

    【讨论】:

    • 谢谢,重定向后我无法获取用户ID,我该怎么做?
    猜你喜欢
    • 1970-01-01
    • 2012-01-15
    • 2017-06-14
    • 2018-12-28
    • 1970-01-01
    • 2015-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多