[英]How to get access token claims in a Blazor Server app using 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.