Simplesamlphp-与我的应用程序集成时卡在Simplesamlphp页面中

Simplesamlphp-与我的应用程序集成时卡在Simplesamlphp页面中,php,apache,simplesamlphp,Php,Apache,Simplesamlphp,因此,我正在尝试将我的应用程序与SimpleSAMLphp集成 我必须配置IdP,它们都工作正常(我可以在simplesamlphp管理页面上通过“测试配置的身份验证源”进行测试) 但是当我尝试与我的应用程序集成时,在使用IdP登录之后,我会陷入simplesamlphp页面 像这样: 我打开我的申请表 我的应用程序调用requireAuth,它将我重定向到simplesamlphp页面,在那里我可以选择要使用的IdP 我选择一个IdP。我被重定向到IdP页面。我成功登录 IdP将我重定向回si

因此,我正在尝试将我的应用程序与SimpleSAMLphp集成

我必须配置IdP,它们都工作正常(我可以在simplesamlphp管理页面上通过“测试配置的身份验证源”进行测试)

但是当我尝试与我的应用程序集成时,在使用IdP登录之后,我会陷入simplesamlphp页面

像这样:

  • 我打开我的申请表

  • 我的应用程序调用requireAuth,它将我重定向到simplesamlphp页面,在那里我可以选择要使用的IdP

  • 我选择一个IdP。我被重定向到IdP页面。我成功登录

  • IdP将我重定向回simplesamlphp IdP选择屏幕。我被困在这里,因为当我打开应用程序时,它会将我重定向到同一页面

  • 有人知道我做错了什么吗?我认为这是一个配置问题,但我不知道哪一个可能是。此外,isAuthenticated函数始终返回false

    这是我的申请代码

    <?php
    require_once ('/var/simplesamlphp/lib/_autoload.php');
    
    $as = new SimpleSAML_Auth_Simple ( 'default-sp' );
    
    if ($as->isAuthenticated ()) {
      die ( 'ok' );
    } else {
      $param = array (
        'ReturnTo' => 'http://teste.localhost' 
      );
      $as->requireAuth ( $param );
    }
    
    $attributes = $as->getAttributes ();
    print_r ( $attributes );
    

    您应该检查SimpleSAMLphp中config/config.php文件中的'session.phpsession.savepath'选项。如果这与应用程序的会话保存路径不一致,则当IdP重定向回您时,会话ID将更改,SimpleSAMLphp将无法识别登录名,并将再次尝试对您进行身份验证。
    
    另一个又快又脏的修复方法是在php.ini中将session.auto_start设置为1,但我建议不要这样做。

    太好了,我会搜索几个小时。可能很晚了,但是:谢谢!