【问题标题】:simplesamlphp IDP Initiated authentication using existing sessionsimplesamlphp IDP 使用现有会话发起的身份验证
【发布时间】:2013-12-27 14:32:59
【问题描述】:

我有一个 Zend 项目,用户通过数据库支持的登录页面登录。我已经使用 simplesamlphp 实现了 IdP 发起的 SSO 功能。

目前的事件流程是:-

  1. 用户登录我的网站。
  2. 点击 IDP 发起的 SSO 链接。
  3. 用户被重定向到我为 SSO 登录处理创建的登录页面。 (理想情况下应该在用户未登录时发生。)
  4. 登录后,用户被发送到所需的 IDP。
  5. 在这里和那里打印 $_SESSION 后,我发现这是因为未设置 simplesamlphp 的正确会话变量。

我想要 simplesaml 做的是:-

  1. 用户登录到我的网站。
  2. 用户点击 IdP 发起的 SSO 链接。
  3. 用户被重定向到服务提供商。

但我找不到任何方法可以做到这一点。请帮忙。

【问题讨论】:

    标签: php saml-2.0 simplesamlphp


    【解决方案1】:

    为了解决这个问题,我在使用

    进行用户登录之前启动了 simplesaml 会话
     SimpleSAML_Session::getInstance(); 
    //This method makes the $_SESSION empty and stores the required session parameters it wants.
    

    在此之后,我将用户的登录凭据存储在会话中。我不知道这是否是解决这个问题的最佳方法。

    【讨论】:

    • 我尝试添加 SimpleSAML_Session::getInstance();到我的代码,但它不工作。我现在在我的脚本上做的是打开一个会话并检查用户是否登录。如果他们没有登录,那么我首先销毁我创建的会话,然后调用 $as->要求身份验证();并让 simplesaml 处理会话。
    猜你喜欢
    • 2020-08-29
    • 2015-04-10
    • 2016-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-03
    • 2014-01-31
    相关资源
    最近更新 更多