C# 如何正确实现服务器端blazor自定义授权提供程序

C# 如何正确实现服务器端blazor自定义授权提供程序,c#,blazor,claims-based-identity,blazor-server-side,iprincipal,C#,Blazor,Claims Based Identity,Blazor Server Side,Iprincipal,我试图在我的服务器端blazor项目中实现一个基本的自定义身份验证提供程序,但在正确实现“IsAuthentication”属性时遇到了一些困难 我使用此站点作为起始点,但如果“isauthentication”设置为true(更具体地说,当我从getAuthenticationStateAync()返回null时),它会抛出一个错误 特别是这一行代码: if(IsAuthenticating) { return null; <---- This line thro

我试图在我的服务器端blazor项目中实现一个基本的自定义身份验证提供程序,但在正确实现“IsAuthentication”属性时遇到了一些困难

我使用此站点作为起始点,但如果“
isauthentication
”设置为true(更具体地说,当我从
getAuthenticationStateAync()
返回null时),它会抛出一个错误

特别是这一行代码:

if(IsAuthenticating)
    {
        return null; <---- This line throws error
    }
    else if(IsAuthenticated)
    {
        identity = new ClaimsIdentity(new List<Claim>
                    {
                        new Claim(ClaimTypes.Name, "TestUser")

                    }, "WebApiAuth");
    }
    else
    {
        identity = new ClaimsIdentity();
    }
我不想让堆栈跟踪变得杂乱无章


这可以实现吗?如果可以,如何实现?

最新的预览版(3.2.0 preview 2)支持这种“开箱即用”功能。首先回顾一下。谢谢你的链接,我将回顾。我错过了“服务器端”。这使你的问题很奇怪,但并非不可能。请注意,模板解决方案依赖于ASP.NET cookie,您必须考虑使用或替换它。我一直在查看您提供的链接,甚至安装了您建议的模板。仍在处理所有信息,并试图找到一种方法来利用webassembly blazor,因为我需要它。我有一个独特的要求,即在windows身份验证中使用jwt令牌。例如,我检索令牌的api端点是windows auth,但返回一个令牌,该令牌将用于公共网络或专用网络上的客户端应用程序。我很欣赏这个简单的链接。我相信我在客户端应用程序中使用服务器端blazor是不正确的。
NullReferenceException: Object reference not set to an instance of an object.
   Microsoft.AspNetCore.Components.Authorization.AuthorizeViewCore.OnParametersSetAsync()