.NET OpenIdConnect повторно аутентифицируется в приложении B, если аутентификация для приложения A не удалась - PullRequest
1 голос
/ 11 июля 2019

Мне было интересно, есть ли возможность повторной аутентификации в другом приложении Azure, когда аутентификация первого приложения не удалась.В нескольких приложениях .NET я использую OpenIdConnect для аутентификации в приложении Azure.Если пользователь не назначен, он вызовет событие AuthenticationFailed.

В Azure я создал два приложения и хотел бы проверить аутентификацию этих приложений в одном веб-приложении.Для пользователя на фронтенде ничего не должно меняться.Они должны оставаться на том же сайте.Это будет означать, что вы должны изменить идентификатор клиента во время выполнения.

AuthenticationFailed = context =>
{
       // set new client id and authenticate again
}

Итак, я хотел бы знать, возможно ли выполнить повторную аутентификацию в другом приложении при событии AuthenticationFailed.Перенаправление на другое веб-приложение будет последним вариантом.Что было бы лучшим решением для этого?

1 Ответ

1 голос
/ 12 июля 2019

Приложения не будут иметь доступа к каталогам друг друга, и если они находятся под одним и тем же арендатором, аутентификация должна быть успешной для обоих.Поэтому, насколько я понимаю, вторую аутентификацию нужно будет выполнять отдельно, но вы сможете просто перенаправить на новый сайт, если Request.IsAuthenticated = false.https://docs.microsoft.com/en-us/azure/application-gateway/redirect-overview

private void Page_Load(object sender, EventArgs e)
{
    // Check whether the current request has been
    // authenticated. If it has not, redirect the 
    // user to the new page.
    if (!Request.IsAuthenticated)
    {
        Response.Redirect("mysite.cpm");
    }
}

Перенаправление на внешний URI из контроллера ASP.NET MVC

...