首页 > 解决方案 > Simplesamlphp 作为 SP - 从 IDP 端(Okta)启动登录

问题描述

我们有当前使用 SimplesamlPHP(作为 SP)的 PHP 应用程序

在 Okta 配置“单点登录 URL”中,“收件人 URL”和“目标 URL”指向默认的 SimplesamlPHP saml2-acs.php url:[http://....../var/www/html/vendor/ simplesamlphp/simplesamlphp/www/module.php/saml/sp/saml2-acs.php/authsourcename][1]

在我们启动 SP 登录的端点中,我们有以下代码:
$auth = new \SimpleSAML\Auth\Simple('authsourcename');
$auth->requireAuth();
if ($auth->isAuthenticated())
... log user into our app ...

它工作得很好,我们可以使用 $auth 对象并获取断言数据以登录用户。

问题是当用户尝试从 IDP (Okta) 访问我们的应用程序时,断言被发送到单点登录 URL,这是默认的 SimplesamlPHP saml2-acs.php 文件并且没有任何反应 - 发送了断言但没有自定义逻辑记录用户在。

问题是:我们如何才能使 IDP 发起的登录工作?是否有关于如何创建与默认端点类似的自定义 ACS 端点的文档?

当我尝试添加 $auth->requireAuth();到我的自定义 ACS 端点并更新 Okta 以使用它时,它创建了无限循环并且没有工作。

任何和每一个帮助都非常感谢!

标签: phpsimplesamlphp

解决方案


推荐阅读