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实现)原来真的有挂,透牌教程(有挂功能)-哔哩哔哩;是一...
黑科技辅助!wepoke有插件... 《黑科技辅助!wepoke有插件,(WePoKe辅助工具)原来真的有挂,安装教程(有挂解惑)-哔哩哔...
黑科技辅助!wepoke辅助使... 黑科技辅助!wepoke辅助使用方法,(Wepoke代码)原来真的有挂,必胜教程(有挂解密)-哔哩哔...
黑科技辅助!wepoke辅助真... 黑科技辅助!wepoke辅助真的假的,(WePoKe步骤)原来真的有挂,2025新版技巧(有挂透视)...
黑科技辅助!wepoke挂真的... 黑科技辅助!wepoke挂真的假的,(Wepoke ai代打)原来真的有挂,新版2025教程(有挂猫...
黑科技辅助!wepoke一定有... 黑科技辅助!wepoke一定有挂,(WePoKe辅助工具)原来真的有挂,介绍教程(有挂方法)-哔哩哔...
黑科技辅助!wepoke黑科技... 黑科技辅助!wepoke黑科技ai,(WePoKe新版)原来真的有挂,规律教程(的确有挂)-哔哩哔哩...
黑科技辅助!红龙扑克辅助工具,... 黑科技辅助!红龙扑克辅助工具,(红龙扑克功能)原来真的有挂,细节方法(细节)-哔哩哔哩;红龙扑克辅助...
黑科技辅助!wepoke辅助真... 【福星临门,好运相随】;黑科技辅助!wepoke辅助真的假的,(WePoKe德州)原来真的有挂,we...