Я работаю над проектом .NET 8 Blazor с аутентификацией .NET Identity. Моя цель — автоматически войти в систему пользователя и перенаправить его с помощью метода OnInitializedAsync на основе OTP, предоставленного через параметр запроса.
Вот фрагмент кода:
[SupplyParameterFromQuery]
private string Otp { get; set; } = default!;
[Inject]
SignInManager SignInManager { get; set; } = default!;
protected override async Task OnInitializedAsync()
{
try
{
if (HttpMethods.IsGet(HttpContext.Request.Method))
{
await HttpContext.SignOutAsync(IdentityConstants.ExternalScheme);
}
if (!string.IsNullOrEmpty(Otp))
{
// Validate and get the user and claims
await SignInManager.SignInWithClaimsAsync(user, isPersistent: false, claims);
NavigationManager.NavigateTo("/test");
}
else
{
NavigationManager.NavigateTo("/error");
}
await base.OnInitializedAsync();
}
catch (Exception)
{
NavigationManager.NavigateTo("/error");
}
}
Однако при попытке перенаправить пользователя я сталкиваюсь со следующим исключением:
Microsoft.AspNetCore.Components.NavigationException: 'Exception of type 'Microsoft.AspNetCore.Components.NavigationException' was thrown.'
Как я могу обработать это исключение или изменить свой подход для достижения желаемой функциональности без возникновения ошибок? br /> это сработало для меня < /p>
public static class BlazorSsrRedirectManagerExtensions
{
public static void RedirectTo(this HttpContext httpContext, string redirectionUrl)
{
ArgumentNullException.ThrowIfNull(httpContext);
httpContext.Response.Headers.Append("blazor-enhanced-nav-redirect-location", redirectionUrl);
httpContext.Response.StatusCode = 200;
httpContext.Response.Redirect(redirectionUrl);
}
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... entication
Автомобильный вход в Net 8 Blazor Project с аутентификацией .NET Identity Authertication ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
AGL (автомобильный класс Linux) с C#, отличная комбинация? или нет? [закрыто]
Anonymous » » в форуме C# - 0 Ответы
- 7 Просмотры
-
Последнее сообщение Anonymous
-