![](/img/trans.png)
[英]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.