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
}
我正在尝试构建一个 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
}