У меня есть проект, в котором мы используем пакет Microsoft.AspNetCore.Authentication.AzureADB2 C .UI для аутентификации с помощью Azure AD B2 C. Иногда, если срок сеанса истекает или пользователь пытается войти прямо со страницы входа Azure AD B2 C, появляется эта страница ошибки [Страница ошибки] (https://github.com/dotnet/aspnetcore/blob/master/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Areas/AzureADB2C/Pages/Account/Error.cshtml):
Однако я хотел бы настроить эту страницу, но я не мог понять, как это сделать.
Я уже настраиваю AzureADB2 C Контроллер , чтобы использовать настраиваемую страницу выхода, заменив метод выхода. Однако в этом контроллере нет метода «Ошибка».
Может ли кто-нибудь показать мне направление на go?
Спасибо
ОБНОВЛЕНИЕ
В дополнение к предоставленному исправлению я также изменил приведенный ниже код, чтобы заставить пользователя снова перенаправляться на страницу входа в систему, если произойдет удаленный сбой. Я заметил, что это решает большую часть случаев, когда кто-то получит эту ошибку:
`public class AzureADB2COpenIdConnectOptionsConfigurator : IConfigureNamedOptions<OpenIdConnectOptions>`
(...)
public void Configure(string name, OpenIdConnectOptions options)
{
(...)
options.Events.OnRemoteFailure = WrapOpenIdConnectEvent(options.Events.OnRemoteFailure, OnRemoteFailture);
(...)
}
private Task OnRemoteFailture(RemoteFailureContext context)
{
// Log exception
_logger.LogInformation("Azure - Failure Sign In - ContextFailure: " + context.Failure.ToString());
// Redirect user to SignIn, most of the times, the user will be simply logged in and won't see the developer page exception anymore
context.Response.Redirect("/AzureADB2C/Account/SignIn");
context.HandleResponse();
return Task.CompletedTask;
}