我正在尝试在服务器端的blazor项目中实现基本的自定义Auth提供程序,但是我在正确实现'IsAuthenticating'属性时遇到了一些困难。
我以该站点为起点,但是如果将'IsAuthenticating
'设置为true,则会引发错误(更具体地说,当我从GetAuthenticationStateAsync()
返回null时)。 https://gunnarpeipman.com/client-side-blazor-authorizeview/。
具体来说这行代码:
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();
}
抛出的确切错误是:
NullReferenceException: Object reference not set to an instance of an object.
Microsoft.AspNetCore.Components.Authorization.AuthorizeViewCore.OnParametersSetAsync()
我不想让堆栈跟踪变得混乱。
这可以实现吗?如果可以,怎么实现?