簡體   English   中英

Blazor OIDC 刷新令牌

[英]Blazor OIDC Refresh Token

我有一個使用 OIDC 身份驗證的 Blazor WASM 應用程序。 我有 OIDC 工作。

            builder.Services.AddOidcAuthentication(options =>
            {
                options.ProviderOptions.ResponseType = "code";
                options.ProviderOptions.DefaultScopes.Add("offline_access");
                options.ProviderOptions.Authority = "Oauth URL";
                options.ProviderOptions.ClientId = "client ID";
            });

我定義了offline_access scope,以便生成刷新令牌。

用戶登錄后,來自令牌端點的響應將存儲在 session 存儲中。 只要用戶不退出應用程序,這就會很好。 但是,一旦用戶關閉瀏覽器然后再次打開瀏覽器,他們就必須重新登錄該站點,即使刷新令牌尚未過期。

使用 OIDC 的 Blazor WASM 應用程序如何使用刷新令牌?

謝謝你,特拉維斯

我認為在您的情況下,由於您將數據存儲在 session 存儲中,因此一旦關閉瀏覽器,數據就會丟失。 sessionStorage的范圍僅限於瀏覽器的選項卡如果用戶重新加載選項卡,state 仍然存在。 如果用戶關閉選項卡或瀏覽器,state 將丟失。 如果用戶打開多個瀏覽器選項卡,每個選項卡都有自己獨立的數據版本。

要解決此問題,您應該使用localStorage在這種情況下,如果用戶重新加載頁面或關閉並重新打開瀏覽器,state 仍然存在。

雖然從安全角度來看sessionStorage是首選。

暫無
暫無

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

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