为什么用户总是被重定向到simpleSAMLphp安装首页?

时间:2013-11-07 03:40:22

标签: php saml saml-2.0 simplesamlphp

我第一次设置simpleSAMLphp服务提供商时遇到了一些麻烦。

我按照以下方式配置了服务提供商:

'***' => array(
        'saml:SP',
        'redirect.validate' => true,
        'redirect.sign' => true,
        'privatekey' => '***.key',
        'certificate' => '***.crt',
        'entityID' => 'https://***',
        'idp' => 'https://***',
        'attributes' => array(
            'eduPersonTargetedID',
            'GivenName',
            'SurName',
            'mail',
            'eduPersonScopedAffiliation',
            'schacHomeOrganization',
        ),
        'attributes.required' => array (
            'eduPersonTargetedID',
            'GivenName',
            'SurName',
            'mail',
            'eduPersonScopedAffiliation',
            'schacHomeOrganization',
        ),
    ),

我还配置了身份提供程序,它似乎工作正常。但是当用户从idp重定向回simpleSAMLphp时,会显示simpleSAMLphp安装页面(具有一些测试工具的页面)。

我的测试使用此代码:

require_once('../../lib/_autoload.php');

$simpleSaml= new SimpleSAML_Auth_Simple("***");

$simpleSaml->requireAuth(array(
    'ReturnTo' => 'https://***/test.php',
    'KeepPost' => FALSE,
));

$attributes = $simpleSaml->getAttributes();

当我尝试使用“测试配置的身份验证源”工具登录时,我还会发回安装首页,而不是我应该获得的属性概述。

我尝试检查从idp发送的POST,并且能够使用此工具进行检查:http://www.ssocircle.com/en/1203/saml-request-online-decoder-encoder/
据我所知,该服务没有返回任何错误和用户属性。

那么我做错了什么?

2 个答案:

答案 0 :(得分:1)

我不是SimpleSAMLphp的wiz,虽然你测试了断言,但我没有看到一个示例authnRequest,也没有一个示例断言......所以,基本上我所说的是我的回答都是猜测工作

我看到你传递的属性和内容列表......但SP是否通过了RelayState?

来自SimpleSAMLphp Doc
的RelayState 在IdP发起SSO之后,用户应该重定向到的页面。 注意:SAML 2具体。对于SAML 1.1 SP,您必须在身份验证响应中指定TARGET参数。如何设置该参数取决于IdP。对于simpleSAMLphp,请参阅IdP-first flow的文档。

答案 1 :(得分:0)

我最终自动生成了SP元数据,这解决了问题,不确定元数据中的错误在哪里。