Blazor项目中的自定义AuthenticationStateProvider在服务器端无法工作。
创始人
2024-12-22 02:30:26
0

问题出在自定义 AuthenticationStateProvider 中 GetAuthenticationStateAsync 方法在服务端调用时并不能正确获取用户的身份信息。解决方案如下:

1.设置 App.razor 中的组件为 AuthorizeRouteView,并将 AuthenticationStateProvider 属性设置为自定义的 CustomAuthenticationStateProvider。

You are not authorized to access this resource.

Sorry, there's nothing at this address.

2.在注入服务中使用 AddScoped 方法注入自定义的 AuthenticationStateProvider。

services.AddScoped();

3.在自定义的 AuthenticationStateProvider 中重写 GetAuthenticationStateAsync 方法,并在客户端和服务器端分别处理身份验证状态,如下代码:

public async override Task GetAuthenticationStateAsync() { var identity = new ClaimsIdentity(); if (_httpContextAccessor.HttpContext.User.Identity.IsAuthenticated) { // Client var accessToken = await _accessTokenProvider.RequestAccessToken(); identity = new ClaimsIdentity(ParseClaimsFromJwt(accessToken), "jwt"); } else if (IsServerSideBlazor) { // Server var user = _httpContextAccessor.HttpContext.User; identity = user?.Identities?.FirstOrDefault(); }

return new AuthenticationState(new ClaimsPrincipal(identity));

}

4.在服务器端 Blazor 页面中重写 OnInitializedAsync 方法并调用 GetAuthenticationStateAsync 方法,确保身份验证信息能够正确传递。

protected override async Task OnInitializedAsync() { var authState = await AuthenticationStateProvider.GetAuthenticationStateAsync(); var user = authState.User; // ... }

这些步骤应该能够解决自定义 AuthenticationStateProvider 在 Blazor 服务器端中无法正确工作的问题

相关内容

热门资讯

黑科技代打!(wEpoke)软... 黑科技代打!(wEpoke)软件透明挂,(wePOke)好像是有挂,爆料教程(有挂攻略)是一款可以让...
黑科技讲解(wpk俱乐部)外挂... 黑科技讲解(wpk俱乐部)外挂透视辅助挂(透视)细节方法(都是是有挂)1、wpk俱乐部透视辅助简单,...
黑科技游戏!(wpK)透视辅助... 黑科技游戏!(wpK)透视辅助app,(Wpk)原先存在有挂,德州教程(有挂辅助);德州软件透明挂作...
黑科技最新(微扑克机器人)外挂... 黑科技最新(微扑克机器人)外挂透视辅助安装(透视)细节揭秘(本来真的有挂);1、微扑克机器人透视辅助...
黑科技透明挂!(WePoKer... 黑科技透明挂!(WePoKer)软件透明挂,(wePOke)本来真的是有挂,软件教程(有挂透明)1、...
黑科技攻略(wpk俱乐部)外挂... 黑科技攻略(wpk俱乐部)外挂透视辅助教程(透视)透视教程(其实有挂)1、许多玩家不知道wpk俱乐部...
黑科技代打!(德州)外挂辅助工... 1、黑科技代打!(德州)外挂辅助工具,(德州)起初是有挂,2025教程(有挂技巧)(UU poker...
黑科技好牌(WepoKe)黑科... 黑科技好牌(WepoKe)黑科技透明挂辅助器(透视)软件教程(原来存在有挂)1、进入到WepoKe黑...
黑科技透明挂挂!(德扑ai)外... 黑科技透明挂挂!(德扑ai)外挂辅助app,(德扑之星)本来有挂,玩家教你(有挂透明)科技教程也叫必...
黑科技数据(微扑克)外挂透视辅... 黑科技数据(微扑克)外挂透视辅助技巧(透视)我来教教你(真是真的有挂);1、许多玩家不知道微扑克辅助...