2017-07-11 31 views
0

我目前在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指示此操作是有意义的(这适用于其他安装)。任何帮助,将不胜感激。

回答

1

你的实体ID应该是/apps/simplesamlphp/config/authsources.php https://和原因,元数据XML再次在位置返回意外http网址,而不必https网址为ENTITYID是因为你可能没有生成的证书,你必须创建一个如果没有创建cert/目录中的自签名证书。

我在moodle中使用auth_saml2插件时的情况相同。 当我安装并按照链接 https://simplesamlphp.org/docs/stable/simplesamlphp-sp联合会选项卡中显示了SP元配置在我的Centos simpleSAML php当我用Moodle的应用程序相同的插件,该SP元返航http://而不是https://让我再生回我https://然而,来自auth_saml2插件的证书,以及比我返回的SP元数据https

相关问题