当前位置: 首页 > 知识库问答 >
问题:

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

朱淮晨
2023-03-14

我第一次在设置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发送的帖子,并能够使用以下工具进行检查:http://www.ssocircle.com/en/1203/saml-request-online-decoder-encoder/
据我所知,服务没有返回错误和用户属性。

那么我做错了什么?

共有2个答案

步胜
2023-03-14

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

慕阳文
2023-03-14

我不是SimpleSAMLphp的高手,虽然您测试了断言,但我没有看到authnRequest示例,也没有看到断言示例。。。所以,基本上我的意思是,我的回答都是猜测。

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

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

 类似资料:
  • 我在设置从8080到端口443的重定向时遇到问题。 场景如下:我有一个负载均衡器,监听端口80和443。对端口80的所有请求都转发到负载均衡器后面主机上的端口8080。对端口443的所有请求都转发到负载均衡器后面主机上的端口8443。 请求端口时http://address.com,它在负载平衡器上使用端口80,在主机上使用端口8080,这里一切正常。 重定向现在应指向https://addres

  • 问题内容: 我正在使用express (最新)和以下代码: POST重定向到GET,但PUT重定向到PUT。是否可以将PUT重定向到GET(与POST相同)? 问题答案: 在详细讨论之前,下面是解决问题的一种方法: 默认情况下,Express使用HTTP代码302进行重定向。根据HTTP规范,这可以防止POST / PUT请求被重定向为POST / PUT请求,并解释了您在代码中观察到的内容: 如

  • null 这些页面配置为我启用了无效会话选项来处理经过身份验证的用户:。如果我注释掉该选项,那么除了步骤#10-看到请求的会话ID无效(#9),但没有启动新会话并执行重定向(#10)之外,上面描述的所有内容都完全相同。 为什么?我可以做什么来保留无效会话选项,但正确地处理匿名用户,即不被重定向?或者这是不可能的,我将不得不单独处理经过身份验证的用户?如果有人能帮助我理解这里发生的事情,并为我指明解

  • 到目前为止,我遇到的所有示例都将用户重定向到页面,如果捕获到: 这就引发了一个问题--为什么要使用?

  • 问题内容: 当我们在Java中使用系统定义的异常类时,为什么需要制作用户定义的异常类?因为我的老师告诉我在项目中进行Exception类。 任何详尽的例子都是好的。 问题答案: 用户定义的异常可能更具描述性。 范例: 创建自己的异常的替代方法是使用预定义的异常(例如),但这会给捕获该异常的方法提供较少的信息(因为它可以被许多类中的许多方法抛出)。 定义异常的类层次结构可在处理异常时为您的类用户提供

  • 目前,我正在使用Spring Boot 1.4.0版本进行开发,使用Spring security进行身份验证。要求是当用户第一次登录时,需要重定向到密码重置页面,否则应该重定向到主页。应用程序总是重定向home.jsp,而与成功处理程序中配置的url无关。 WebSecurityConfiguration 公共类AuthSuccessShandler扩展了SimpleUrlAuthenticat