【问题标题】:Blazor OIDC Refresh TokenBlazor OIDC 刷新令牌
【发布时间】:2022-01-28 02:14:23
【问题描述】:

我有一个使用 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 范围,以便生成刷新令牌。

一旦用户登录,来自令牌端点的响应就会存储在会话存储中。只要用户不退出应用程序,这就会很好。但是,一旦用户关闭浏览器然后再次打开浏览器,他们就必须重新登录网站,即使刷新令牌尚未过期。

使用 OIDC 的 Blazor WASM 应用如何使用刷新令牌?

谢谢你, 特拉维斯

【问题讨论】:

    标签: c# oauth-2.0 blazor openid-connect


    【解决方案1】:

    我认为在您的情况下,由于您将数据存储在会话存储中,因此一旦关闭浏览器,数据就会丢失。 sessionStorage 的范围仅限于浏览器的选项卡如果用户重新加载选项卡,则状态将持续存在。如果用户关闭选项卡或浏览器,状态将丢失。如果用户打开多个浏览器选项卡,每个选项卡都有自己独立的数据版本。

    localStorage 如果在这种情况下使用,如果用户重新加载页面或关闭并重新打开浏览器,状态将持续存在。

    然而,存储是不可配置的,并且不受支持,如此处https://github.com/dotnet/aspnetcore/issues/20574 所解释的那样

    【讨论】:

    猜你喜欢
    • 2020-08-14
    • 2020-07-17
    • 2019-01-18
    • 2020-06-02
    • 2020-07-07
    • 2021-01-29
    • 2022-11-22
    • 2022-07-05
    • 2022-11-09
    相关资源
    最近更新 更多