Проверка подлинности пользователя по-прежнему выполняется в Azure AD с помощью IdentityServer4 / Azure AD SSO.

У нас есть успешная реализация единого входа Id4 / Azure AD в наших веб-формах ASP.NET, использующих OWIN.

Используя следующий рабочий процесс ...

  1. Пользователь вошел в CRM, admin.microsoft.com или любое другое приложение MS.

  2. Затем пользователь приходит в наше приложение и выбирает аутентификацию с использованием своих учетных данных «Microsoft», поэтому он щелкает соответствующий значок и автоматически входит в систему, поскольку он уже вошел в CRM или другое приложение MS.

  3. Пользователь выходит из CRM или другого приложения MS, во время этого процесса выхода из приложений MS на нашей странице fs.domain.com есть экран, на котором указано, что он «вышел из всех приложений».

  4. Когда они делают последующий запрос в нашем приложении, который требует обратного пинга для / подключения / авторизации, Id4 по-прежнему видит их как прошедших проверку подлинности, и они все еще проходят проверку подлинности и не вышли из системы.

Выполняет ли Id4 какую-либо проверку, чтобы убедиться, что эти типы аутентифицированных пользователей по-прежнему успешно вошли в Azure AD?

Я бы подумал, что если бы они вышли из своих ADFS, мы бы хотели, чтобы они истекли и в нашем приложении.


person mt programmer    schedule 09.10.2018    source источник


Ответы (1)


Identity Server поддерживает описываемый вами сценарий. Скорее всего, федеративный выход в вашей ситуации обрабатывается неправильно. Зарегистрировали ли вы свой сервер идентификации как приложение на https://apps.dev.microsoft.com и вы установили URL выхода из системы?

Вы действительно используете учетные записи Microsoft или AAD? Или AAD также настроен на использование учетных записей Microsoft?

person ngruson    schedule 09.10.2018
comment
Да, мы зарегистрировали наш Id-сервер как приложение на apps.dev.microsoft.com; да, мы установили адрес лота. Наш конкретный AAD настроен на использование учетных записей MS на нашем локальном сервере ADFS. - person mt programmer; 09.10.2018
comment
Можете ли вы отследить процесс выхода из AAD (после того, как пользователь вошел в ваш IDP через AAD) в инструментах разработчика браузера и посмотреть, сделан ли запрос в вашу зарегистрированную конечную точку выхода из внешнего канала? Если это так, я бы проверил, что ваш обработчик выхода (UserInteraction.LogoutUrl) ведет себя правильно. Кстати, если вы хотите, чтобы клиентские приложения реагировали немедленно, после выхода из фронтального канала вы можете реализовать там спецификацию мониторинга сеанса и получать уведомления на стороне клиента при изменении сеанса IDP. - person mackie; 10.10.2018