gpt4 book ai didi

php - simpleSAMLphp SP 元数据返回 http 的 entityID 而不是预期的 https

转载 作者:太空宇宙 更新时间:2023-11-04 10:18:25 25 4
gpt4 key购买 nike

我目前在 CentOS 服务器上安装了一个 simplesamlphp 作为服务提供者。我将 config/authsources.php 定义如下:

'default-sp' => array(
'saml:SP',
'entityID' => null,

当我通过 https 访问/saml/url 并导航到“联合”选项卡时,即: https://my.sp/saml/module.php/core/frontpage_federation.php

我注意到返回的实体 ID 是“http”而不是“https”(我希望这是 https)。它显示以下内容:

SAML 2.0 SP Metadata
Entity ID: http://my.sp/saml/module.php/saml/sp/metadata.php/default-sp
default-sp
[ Show metadata ]

然后当我单击“显示元数据”链接以访问 URL https://my.sp/saml/module.php/saml/sp/metadata.php/default-sp?output=xhtml 时(注意 url 是正确的 https),元数据 XML 再次返回意外的“http”url,而不是实体 ID 和位置的“https”url。请注意 XML 中的以下摘录:

<?xml version="1.0"?>
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" entityID="http://my.sp/saml/module.php/saml/sp/metadata.php/default-sp">
-- SNIP --
<md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="http://my.sp/saml/module.php/saml/sp/saml2-logout.php/default-sp"/>
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="http://my.sp/saml/module.php/saml/sp/saml2-acs.php/default-sp" index="0"/>
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:1.0:profiles:browser-post" Location="http://my.sp/saml/module.php/saml/sp/saml1-acs.php/default-sp" index="1"/>
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact" Location="http://my.sp/saml/module.php/saml/sp/saml2-acs.php/default-sp" index="2"/>
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:1.0:profiles:artifact-01" Location="http://my.sp/saml/module.php/saml/sp/saml1-acs.php/default-sp/artifact" index="3"/>
</md:SPSSODescriptor>
</md:EntityDescriptor>

与远程 IdP 共享元数据时,这似乎会导致问题。所以我的问题是,为什么它返回 http 而不是 https,有没有办法解决这个问题?我选择不对 entityID 进行硬编码,因为我有 2 个单独的子域访问单个 SP,因此认为允许当前使用的 url 指示它是有意义的(这对其他安装有效)。任何帮助将不胜感激。

最佳答案

您的实体 ID 应该是 https:///apps/simplesamlphp/config/authsources.php以及为什么元数据 XML 再次返回意外的 http url 而不是 https Locations 中 entityID 的 url 的原因是因为您可能没有生成证书,您将不得不创建cert/ 目录中的自签名证书(如果未创建的话)..

我在 moodle 中使用 auth_saml2 插件时遇到了同样的情况。当我通过以下链接在我的 Centos 中安装和配置 simpleSAML phphttps://simplesamlphp.org/docs/stable/simplesamlphp-sp Federation 选项卡显示 SP 元数据返回给我 https:// 但是当我为 moodle 应用程序使用相同的插件时,SP 元数据返回 http:// 而不是https:// 所以我从 auth_saml2 插件重新生成证书,然后 SP 元数据返回给我 https

关于php - simpleSAMLphp SP 元数据返回 http 的 entityID 而不是预期的 https,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45027550/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com