我目前在CentOS服务器上获得了simplesamlphp安装作为服务提供者。我已配置/ authsources.php定义如下:simpleSAMLphp SP元数据返回http的实体ID,而不是预期的https
'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 ]
当我然后点击“查看元数据”链接访问该网址https://my.sp/saml/module.php/saml/sp/metadata.php/default-sp?output=xhtml(注意,网址是正确的HTTPS),元数据XML再次返回意外的“http”的网址,而不是“ https'实体ID和位置的网址。请注意以下摘自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,有没有办法解决这个问题?我选择不对实体ID进行硬编码,因为我有2个独立的子域访问单个SP,因此认为允许当前使用的URL指示此操作是有意义的(这适用于其他安装)。任何帮助,将不胜感激。