Simplesamlphp IdP 登录后重定向到错误的 url
Posted
技术标签:
【中文标题】Simplesamlphp IdP 登录后重定向到错误的 url【英文标题】:Simplesamlphp IdP redirect to wrong url after logged in 【发布时间】:2021-05-05 18:56:08 【问题描述】:我正在尝试设置一个 Web 应用程序(现在只是一个 index.php 文件),用户只有通过 Microsoft Azure idp 登录才能使用它。 当用户到达此页面时,它会将他重定向到 Microsoft 登录页面。 到目前为止没有问题,它可以工作。 但是一旦登录,我希望用户被重定向到我的 index.php 页面,但目前重定向到 https://my-web-site.com/simplesaml/www/module.php/saml/sp/saml2-acs.php/default-sp 并出现页面未找到错误。 我不明白如何/在哪里更改此重定向网址。
我已填写以下信息:
metadata/saml20-idp-remote.php:来自 AzureAD 的元数据 config/config.php:baseurlpath、technicalcontact_name、technicalcontact_email、secretsalt 和 auth.adminpassword 配置/authsources.php: entityID 到https://my-web-site.com/。 idp 设置为在元数据中找到的 url。 NameIDFormat 设置为 'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent' (在 tuto 上找到这个,不太明白它的意思)。 simplesaml.nameidattribute 设置为“eduPersonTargetedID”(与上一个相同)我正在使用的服务器使用 nginx 运行,我无权修改配置。所以我没有在安装 simplesamlphp 的文档中进行第 6 步。
我的 index.php 与文档中的示例完全相同:
require_once('simplesaml/lib/_autoload.php');
$as = new \SimpleSAML\Auth\Simple('default-sp');
$as->requireAuth();
$attributes = $as->getAttributes();
print_r($attributes);
我虽然是 ACS 重定向,所以在 'default-sp'
内的 authsources.php 中我添加了:
'AssertionConsumerService' => 'https://my-web-site/',
但什么都没有改变。
https://my-web-site.com/simplesaml/www/ 的 SimpleSAMLphp 安装页面仅部分工作。所有的 frontpage_*.php 都在工作,但功能会将我发送到 403 Forbidden 或 Page not found,例如:
XML 到 SimpleSAMLphp 元数据转换器给出 403 禁止 [ 显示元数据 ] 未找到页面:未找到给定页面。原因是:模块“default-sp”要么未找到,要么未启用。 URL 是:https://my-web-site.com/simplesaml/www/module.php/saml/sp/metadata.php/default-sp?output=xhtml(我想那是因为我没有以管理员身份登录?) 以管理员身份登录给 403 ForbiddenPS:我将我的 idp 的 XML 从 SimpleSAMLphp 的本地 Wamp 安装转换为 SimpleSAMLphp 元数据,因为此功能在我的网站上不起作用。
登录 Microsoft Azure 后如何更改重定向?我一直在寻找几天,但我找不到解决方案。我错过了什么,或者如果不更改 nginx 配置就不可能吗?
非常感谢您的帮助(在它让我发疯之前;)),谢谢。
【问题讨论】:
我向前迈出了一步。现在元数据转换器是唯一给出 403 错误的转换器。我设法以其他方式生成我的元数据。但现在我遇到了一个问题,我的脚本 php 似乎 requireAuth 和 Azure 登录相互反弹。不明白为什么? 【参考方案1】:您不需要更改该 URL(AssertionConsumerService),但您需要找出您的 Apache 安装无法正确提供该 URL 的原因。所以我认为这更像是一个 Apache 的问题?也许 Apache 错误日志有一些关于它为什么不提供 SimpleSAMLphp 的 URL 的线索。
至于无限循环,我会调查您是否正确设置了 SimpleSAMLphp 的 SameSite 选项。文档中有更多信息。
【讨论】:
感谢您的回答。我没有使用 Apache,而是使用 Nginx。我查看了错误日志,但没有看到任何有用的信息。最后,我将 SSP 更改为另一个对我来说更简单的库。 SimpleSAMLphp 不够简单,无法集成到我的环境中;)。不知道如何关闭此帖子?以上是关于Simplesamlphp IdP 登录后重定向到错误的 url的主要内容,如果未能解决你的问题,请参考以下文章
“无法使用drupal和simplesamlphp_auth找到IdP的元数据”
如何在 Spring Security 中的 SSO 登录后重定向我的上一页?
使用 spring-SAML 在 Pentaho 中多租户 SSO 登录后重定向
强制 Shibboleth 在身份验证后重定向到特定 URL
SimpleSAMLPHP SP 和 ADFS IDP 的 Requester/InvalidNameIDPolicy 错误