Blazor Wasm 身份验证

Posted

技术标签:

【中文标题】Blazor Wasm 身份验证【英文标题】:Blazor Wasm Authentication 【发布时间】:2021-11-05 15:24:37 【问题描述】:

我正在尝试构建一个 blazor wasm 应用程序并尝试使用 Jwt 令牌进行身份验证。我面临一个有趣的问题。当我登录时,我无法访问具有 [Authorize] 属性的页面。但刷新页面后,身份验证工作。问题可能出在哪里?

【问题讨论】:

【参考方案1】:

我已经找到了问题所在。在您进行登录操作时,您需要强制加载。如果不强制加载 AuthenticationStateProvider 不会刷新。

async Task Login()
    
        var token = await AuthenticationUseCases.LoginAsync(userViewModel.UserName, userViewModel.Password);
        if (string.IsNullOrWhiteSpace(token))
        
            NotificationMessage message = new NotificationMessage  Severity = NotificationSeverity.Error, Summary = "Info Summary", Detail = "Info Detail", Duration = 4000 ;
            NotificationService.Notify(message);
        
        else
            NavigationManager.NavigateTo("/", true); //true means force load
    

【讨论】:

以上是关于Blazor Wasm 身份验证的主要内容,如果未能解决你的问题,请参考以下文章

使用通过 Blazor WASM 使用 Windows 身份验证的 WebAPI

未注册身份验证 AuthenticationStateProvider 的 Blazor Wasm 托管预渲染

IdentityServerBuilderConfigurationExtension 中的 Blazor WASM 托管身份验证空引用异常

升级到 .net 6 时托管的 Blazor WASM 身份验证中断

使用身份验证托管的 Blazor Wasm 上出现 Azure 500 错误

如何在 Blazor WASM 中对当前经过身份验证的用户帐户信息执行 CRUD 操作?