Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
simpleSAMLphp SP元数据返回http的entityID,而不是预期的https_Php_Linux_Single Sign On_Saml_Simplesamlphp - Fatal编程技术网

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

simpleSAMLphp SP元数据返回http的entityID,而不是预期的https,php,linux,single-sign-on,saml,simplesamlphp,Php,Linux,Single Sign On,Saml,Simplesamlphp,我目前在CentOS服务器上安装了simplesamlphp作为服务提供商。我对config/authsources.php的定义如下: 'default-sp' => array( 'saml:SP', 'entityID' => null, 当我通过https访问/saml/url并导航到“联合”选项卡时,即: 我注意到返回的实体ID是“http”而不是“https”(我希望是https)。它显示了以下内容: SAML 2.0 SP Metadata Enti

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

'default-sp' => array(
    'saml:SP',
    'entityID' => null,
当我通过https访问/saml/url并导航到“联合”选项卡时,即:

我注意到返回的实体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(注意URL正确为https)时,元数据XML再次返回entityID和位置的意外“http”URL,而不是“https”URL。请注意XML中的以下摘录:


--剪断--

这似乎会在与远程IdP共享元数据时引发问题。所以我的问题是,为什么它返回http而不是https,有没有办法解决这个问题?我选择不硬编码entityID,因为我有两个单独的子域访问单个SP,所以我认为允许当前使用的url来指示这一点是有意义的(这在其他安装中也适用)。非常感谢您的帮助。

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

moodle
中使用
auth\u saml2
插件时,我遇到了同样的情况。 当我在Centos中通过以下链接安装和配置
simpleSAML php

Federation选项卡显示SP元数据返回给我
https://
,但是当我为moodle应用程序使用相同的插件时,SP元数据返回的是
http://
,而不是
https://
,因此我从
auth_saml2
插件重新生成了证书,然后SP元数据返回给我https,仅供参考-entityID可能看起来像URL,但它不是。它只是一个标识符。所以http和https应该对最终用户体验没有任何影响。您可以拥有几乎任意字符串的entityId。 SimpleSamlPHP正在为您生成entityID,因为元数据文件指定了动态entityID。这使得SSP根据请求和身份验证源ID的许多内容生成entityID。我建议使用静态entityID。如果用于生成元数据的请求通过不同的方案(http vs https)或名称(DNS名称vs IP地址vs别名)访问服务器,则元数据中的entityID将不同,并且SAML交互可能无法按预期工作