2

我第一次设置 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/ 据我所知那里没有错误并且从服务返回用户属性。

那么我做错了什么?

4

2 回答 2

1

我不是 SimpleSAMLphp 的专家,尽管您测试了断言,但我没有看到 authnRequest 示例,也没有看到示例断言......所以,基本上我要说的是我的回答都是猜测工作。

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

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

于 2014-01-29T12:47:12.163 回答
0

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

于 2014-02-11T04:31:59.227 回答