我有一個應用程序的工作流程是這樣SAML和後端REST服務認證
(A)用戶代理(瀏覽器)< ----->(B)應用服務器< ------ >(C)REST服務
假設應用服務器(B)是SAML服務提供商,並且用戶@域使用Web瀏覽器SSO配置文件從瀏覽器(A)嚮應用服務器(B)進行認證。
運行於(B)上的應用程序如何以REST服務(C)身份驗證爲[email protected]? (假設B和C都是同一個IdP上的SAML SP)。
如果瀏覽器只是對B和C進行AJAX調用,那將很簡單。但是如果REST服務是直接從應用程序調用的,你會怎麼做?
我掙扎什麼:如果應用程序本身不是SAML SP,但集成一個(比方說,使用Shibboleth的SP和REMOTE_USER頭)您的應用程序可能永遠不會看到一個SAML斷言。您知道用戶已登錄並通過IdP進行身份驗證,但無法獲得SAML斷言以切換到後端服務。
有沒有解決方法或我運氣不好?
我不認爲有可能驗證兩次針對單個IdP的相同SAML斷言 –
爲什麼不能?一旦收到斷言,您就不會聯繫Idp進行驗證。驗證過程完全由SP完成,通過檢查加密簽名和響應和斷言的id:s。 –
so - 如果您有權訪問原始斷言,則可以將其轉發給C_意味着斷言已轉發到C而不在B上驗證? –