Blazor進階: Share authentication cookies for SSO

在 ASP.NET 應用程式中共用驗證 cookie, Share authentication cookies among ASP.NET apps, SSO.

參考文件

WHY

網站通常由個別 Web 應用程式共同作業所組成。 若要提供單一登入 (SSO) 體驗,網站內的 Web 應用程式必須共用驗證 cookie 。 為了支援此案例,資料保護堆疊允許共用 Katana cookie 驗證和 ASP.NET Core cookie 驗證票證。

關鍵資訊

SSO 實作的其中一個方案靠.AspNet.SharedCookie 來認證。方法是指定:

  1. 各 WebApp 指定以 Cookie Authentication。其中的 SameSiteMode 可能要從 Strict 下調成 Lax 才能共享。

  2. 各 WebApp 的 AuthCookie 的名稱必需相同,預設名稱:.AspNet.SharedCookie

  3. 各 WebApp 的 AuthCookie 必需共享相同的加密金鑰。以 PersistKeysToFileSystemarrow-up-right 或相當的方法共享,比如:ProtectKeysWithCertificatearrow-up-right 用憑證保護金鑰。

  4. 各 WebApp 需用 SetApplicationNamearrow-up-right 指定相同的 ApplicationName,如:SharedCookieApp

circle-exclamation

實作平台

平台:.NET6 IDE: Visual Studio 2022 骨架:Blazor Server App + Cookie Authentication

原始碼紀錄

(EOF)

Last updated