2016-06-10 93 views
0

嘗試在simplesamlphp中設置重定向以使用戶回到他們在發送身份驗證之前嘗試訪問的頁面。理解SimpleSAMLphp的ReturnTo重定向時遇到問題

我使用的ReturnTo選項:

$as->requireAuth(array("ReturnTo" => $returnURL, 'KeepPost' => FALSE)); 

隨着遠程-IDP設置像這樣的元數據(剝離例如):

$metadata['sample'] = array(
    'name' => 'sample', 
    'entityid' => 'https://sample.com/saml/module.php/saml/sp/metadata.php/sample', 
    'metadata-set' => 'saml20-idp-remote', 
    'SingleSignOnService' => 
     array (
     0 => 
      array (
       'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect', 
       'Location' => 'https://sample:port/idp/startSSO.ping?PartnerSpId=https://sample.com/saml/module.php/saml/sp/metadata.php/sample' 
      ) 
    ), 
    'keys' => array(...) 
); 

我需要通過一個參數「TARGET 「插入上述元數據中的idp startSSO,但一直未能找到如何翻譯要添加到此SSO網址上的」ReturnTo「選項。我還捕獲/檢查了SAML重定向xml,並且ReturnTo根本就沒有在那裏。有人知道怎麼做嗎?

回答

1

試圖建立在simplesamlphp重定向到用戶返回到 他們試圖訪問該頁面被髮送到 驗證之前。

使用沒有任何選項的ReturnTo方法默認重定向到用戶嘗試訪問的頁面。

From documentation

ReturnTo(串)
的URL,用戶應後 認證退還。默認值是將用戶返回到當前頁面。

只需將此代碼包含在需要驗證的頁面中即可。

require_once 'path/to/simplesamlphp/lib/_autoload.php'; 

$as = new SimpleSAML_Auth_Simple('default-sp'); 
$as->requireAuth();