在 Blazor WASM 中,当使用 RemoteAuthenticatorView
提供身份验证时,如果未在应用程序的路由中显式定义 login-callback 页面,则将无法自动路由到此页面。为了解决此问题,可以按以下步骤操作:
1.在应用程序的 App.razor
文件中添加一个路由,指向 login-callback
页面。
@page "/"
@using Microsoft.AspNetCore.Components.WebAssembly.Authentication
@attribute [Authorize]
@inject NavigationManager NavigationManager
@code {
private void authenticationState(RemoteAuthenticationState state)
{
if (state == RemoteAuthenticationState.Succeeded)
{
NavigationManager.NavigateTo("/");
}
}
}
2.创建名为 LoginCallback.razor
的新文件,并在其中添加以下代码。
@page "/login-callback"
@using Microsoft.AspNetCore.Components.WebAssembly.Authentication
这样,当用户完成身份验证并返回到应用程序时,就会路由到 login-callback
页面。