Я пытаюсь реализовать базовый c пользовательский поставщик проверки подлинности в моем проекте бразора на стороне сервера, но у меня возникают некоторые трудности с правильной реализацией свойства IsAuthenticating.
Я использовал этот сайт в качестве начальной точки, но он выдает ошибку, если для 'IsAuthenticating
' установлено значение true (более конкретно, когда я возвращаю ноль из GetAuthenticationStateAsync()
). 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()
Я не хотел загромождать трассировку стека.
Может ли это быть достигнуто, и если да, то как?