3
我一直在摸索我的腦袋,關於如何解決看起來很簡單的任務大約2天,但它開始讓我瘋狂。使用Node.js和SPA進行SAML2.0身份驗證
我有一個應用程序,用戶將使用SAML 2.0進行身份驗證。 我爲前端設置了一個反應應用程序,並認爲我將使用JWT來確保前端和後端之間的其餘api通信。
當,流程的用戶標誌如下:
- 用戶訪問www.server.com/和被送達該靜態HTML反應的應用程序
- 用戶點擊「登錄」和訪問www.server.com/login
- passport-saml將用戶重定向到saml身份提供商。用戶登錄
- 用戶使用req.body中的SamlResponse調用回www.server.com/callback,該密碼由passport-saml解碼並放入req.user。
- 如果用戶不存在,我在數據庫中創建用戶。
- 我創建了一個智威湯遜。
接下來應該做什麼?問題在於,當從身份提供者回調時,用戶並沒有處於反應應用程序中,所以我已經在應用程序中失去了所有狀態,所以我回復的任何內容都會發送到瀏覽器。
有沒有什麼辦法可以強制瀏覽器給我身份提供者回叫的SamlResponse?然後我可以將它作爲來自react-application的http請求發送到服務器。