Blazor Wasm 身份验证

Blazor Wasm Authentication

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

我找到问题了。在进行登录操作时,您需要强制加载。如果不强制加载 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
    }