2017-01-20 79 views
0

我試圖建立以下流程:獲得來自simpleSAMLPHP SAML會話,但不嘗試驗證

用戶登錄到應用A.

應用一個反彈的中央simpleSAML實例來創建一個會話。

用戶訪問應用程序B.

應用B反彈到中央simpleSAML實例來檢查會話。

如果會話存在,用戶將返回到應用程序B及其屬性,並在應用程序B上進行身份驗證。此位有效。

如果一個會話不存在,用戶應該返回到應用程序B ,而不需要在中央實例上進行登錄嘗試。這一點不起作用。

有沒有一個simpleSAML端點可以做到這一點?我正在尋找一個getSession或類似的。

回答

0

所需的設置是isPassive。例如:

$auth_source = new \SimpleSAML_Auth_Simple('source_name'); 
$auth_source->requireAuth(array('isPassive' => true)); 

隨着標準SimpleSAML IDP,如果用戶已登錄在IDP這個請求將被認證爲正常。如果用戶不是,則會返回一個SimpleSAML_Error_NoPassive錯誤。這是由SP來處理的。