簡體   English   中英

使用Angular和NGINX進行Shibboleth身份驗證

[英]Shibboleth authentication with Angular and NGINX

我有一個通過Shibboleth認證的Angular應用。 當用戶導航到頁面時,NGINX會將其重定向到Shibboleth登錄名。 對應用程序的訪問由NGINX管理。 如果用戶已登錄並進入該應用程序,則他們可能會在其中停留相當長的時間。 Shibboleth登錄超時,但是Angular應用程序不知道這一點,這導致該應用程序必須與之通信的服務出現問題。 如何讓Angular檢查Shibboleth是否已登錄? 或者(作為一種解決方法)當用戶單擊提交按鈕以使用服務時,如何強制瀏覽器刷新(這會導致NGINX檢查登錄狀態)?

謝謝

如果我的問題正確無誤,則您有一個應用程序https://example.com

您已在這方面實施了SP,並已受保護( 授權的整個網站),而不是任何特定路徑。 因此,每當用戶訪問該網站時,nginx都會通過一些IdP對用戶進行身份驗證

現在的問題是,當您在角度應用程序中導航時,由於使用pushState實現,請求不會轉到nginx,因此您無法檢查用戶會話是否處於活動狀態。

如是

然后,我相信您將需要在angular應用程序中創建一個auth-gaurd,它會檢查每頁上的有效會話-將在每條路由中注入的auth保護。

您可以使用以下URL檢查會話有效性 https //example.com/Shibboleth.sso/Session https://example.com/Shibboleth.sso/Status

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM