首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SimpleSAMLphp多SPs配置

SimpleSAMLphp多SPs配置
EN

Stack Overflow用户
提问于 2022-09-02 14:18:05
回答 1查看 166关注 0票数 1

我对SSO和SimpleSAMLphp并不熟悉,我有一个问题。

如果我们希望在一个环境上有多个SPs :集成、暂存和预生产,那么我们是否可以首先在集成服务器上部署simplesamlphp,使authsources.php具有所有环境的配置(我们将拥有一个SPs数组),然后仅在Integration上为所有SPs生成XML元数据?

或者我们必须分别在每个环境上部署,并在每个环境上获取xml元数据?我认为SimpleSAMLphp使用ssl证书来生成xml,所以应该在我不太确定的每个server..But上分别进行。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-02 21:24:19

您可以这样做,但是您可能需要手动编辑生成的元数据中的URL以指向正确的环境-- SimplSAMLphp使用来自请求元数据的域来构造元数据中的URL,因此如果在暂存过程中生成元数据,URL将指向您的暂存环境。

例如,如果在暂存过程中为生产环境生成元数据,则必须更改元素中的URL,如:

代码语言:javascript
复制
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://staging.test.com/simplesaml/module.php/saml/sp/saml2-acs.php/your-sp-name" index="0"/>

代码语言:javascript
复制
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://test.com/simplesaml/module.php/saml/sp/saml2-acs.php/your-sp-name" index="0"/>

证书是在SP配置中指定的,因此,如果每个环境有不同的证书,则需要在生成元数据的环境中显示所有证书。

代码语言:javascript
复制
$config = [
    'my-test-sp' => [
        'saml:SP',
        'entityID'     => 'my-sp-test',
        'idp'          => 'http://test/idp',
        'privatekey'   => 'test.pem',
        'certificate'  => 'test.crt'
    ],
    'my-staging-sp' => [
        'saml:SP',
        'entityID'     => 'my-sp-staging',
        'idp'          => 'http://staging/idp',
        'privatekey'   => 'staging.pem',
        'certificate'  => 'staging.crt'
    ],
    'my-prod-sp' => [
        'saml:SP',
        'entityID'     => 'my-sp-prod',
        'idp'          => 'http://prod/idp',
        'privatekey'   => 'prod.pem',
        'certificate'  => 'prod.crt'
    ]
];

从每个环境生成元数据肯定更容易,但是如果您需要在环境运行之前将元数据提供给IDP,那么从非prod服务器手动编辑元数据并不困难;XML没有太多内容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73583965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档