Как проверить подлинность приложения angular2 с включенным MFA Azure AD?

Я разработал веб-приложение, используя внешний интерфейс angular2 с сервисным уровнем контроллера покоя. я зарегистрировал свое приложение в лазурном объявлении. Системный администратор включил MFA для веб-приложения. Теперь при запуске приложения я получаю сообщение об ошибке ниже.

at [Source: {"error":"interaction_required","error_description":"AADSTS50076: Due to a configuration change made by your administrator, or because you moved to a new location, you must use multi-factor authentication to access

Может ли кто-нибудь предоставить какие-либо учебные пособия или примеры кода для реализации аутентификации на основе Azure AD с поддержкой MFA?

1 ответ

Не зная, какую библиотеку аутентификации вы используете, я могу дать вам только абстрактный ответ об этой ошибке.

Это вызвано тем, что у вас есть вошедший в систему пользователь, и вы пытаетесь молча запросить доступ к ресурсу, который требует многофакторной аутентификации.

У вас есть два способа решить эту проблему:

  1. При первоначальном входе в систему запросите ресурс или область, в которой он не работает. Это запросит MFA по первому запросу, чтобы все последующие приобретения токенов были успешными. Недостатком является то, что приложение будет запрашивать дополнительные требования, даже если конечный пользователь не использует доступ, который вы запрашиваете (просто входя в систему, никогда не нужно вызывать некоторые API)

  2. Когда вы сталкиваетесь с interaction_required ошибка, инициируйте новый запрос получения интерактивного токена, указав сбойный ресурс или область. Если вы используете ADAL.js, это будет означать использование acquireTokenPopup или же acquireTokenRedirect скорее, чем acquireToken (который будет успешным только в том случае, если он может сделать это без входа в интерфейс).

Другие вопросы по тегам