Шлюз приложений Azure поддерживает аутентификацию Open ID Connect.

У меня есть веб-приложение Azure, в котором настроена проверка подлинности подключения с открытым идентификатором с помощью Azure AD. Для этого я создал новое приложение в разделе Регистрации приложений в Azure Active Directory и настроил URL-адрес перенаправления как / signin-oidc . Поэтому, когда я пытаюсь войти по URL-адресу службы приложения, он сначала перенаправляется на URL-адрес перенаправления, а затем на https://login.microsoftonline.com и передает данные об идентификаторе клиента, арендаторе и т. д. в строке запроса и отлично работает. Таким образом, я могу войти в систему с моими учетными данными пользователя лазурной рекламы

Веб-приложение отлично работает с Open ID Connect с Azure AD.

Когда я передаю веб-приложение Azure через шлюз приложений Azure, оно напрямую перенаправляется на / signin-oidc и останавливается на нем. Я также пробовал варианты перенаправления. Поддерживает ли шлюз приложений Azure проверку подлинности с открытым идентификатором подключения с помощью Azure AD. ?


person MSTechnie    schedule 17.05.2020    source источник


Ответы (2)


Здесь тот же сценарий, служба приложений за шлюзом приложений. Вот что сработало:

Метод BuildRedirectUri в Microsoft.AspNetCore.Authentication.AuthenticationHandler<> строит URI перенаправления, объединяя, среди прочего, строку Resquest.Host. Вот почему хост службы приложений использовался вместо шлюза.

Итак, следующий фрагмент кода был добавлен к Configure() методу Startup.cs:

if (env.IsProduction())
{
    app.Use((context, next) =>
    {                    
         context.Request.Host = new HostString("<gateway.host>");
         return next();
    });
}
person Robson William    schedule 16.07.2020

Да, мы можем использовать шлюз приложений с аутентификацией по открытому идентификатору. В моем случае сертификат SSL отсутствовал, и после добавления он заработал.

person MSTechnie    schedule 28.09.2020