simplesamlphp IDP使用现有会话启动身份验证

时间:2013-12-10 07:14:30

标签: php saml-2.0 simplesamlphp

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

事件的当前流程是: -

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

    1. 用户登录我的网站。
    2. 用户点击IdP发起的SSO链接。
    3. 用户被重定向到服务提供商。
    4. 但我无法找到任何方法。请帮忙。

1 个答案:

答案 0 :(得分:0)

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

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

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