ADAL4 Angular 7 - Как обработать ошибку входа - PullRequest
1 голос
/ 23 октября 2019

У меня есть приложение Angular 7 и я использую библиотеку adal-angular4 для входа в систему. Я хотел, чтобы все мое приложение было защищено, поэтому у меня есть охрана на всех маршрутах. Если я использую действительные учетные данные, все работает нормально. Если я использую неправильные учетные данные домена, он перенаправляется обратно в приложение и автоматически перенаправляется обратно на экран входа в систему. Как зафиксировать ошибку входа в систему и вывести на экран правильное сообщение об ошибке для пользователя.

Перенаправленный URL-адрес содержит содержимое хэша ниже. Как перехватить и показать соответствующее сообщение об ошибке.

error = invalid_grant & error_description = AADSTS500083: + Невозможно + проверить + токен + подпись. + Нет + доверенный + царство + был + найден + с + идентификатором

В MSAL.js есть различные события, такие как, msal: loginFailure или msal: acquTokenFailure, которые могут быть зарегистрированы. Я не смог найти похожие события для регистрации в ADAL.

1 Ответ

0 голосов
/ 28 октября 2019

В ADAL функция обратного вызова, которая вызывается при успешном или неудачном ведении журнала, определяется в свойстве callback объекта AuthenticationContext. См. Обратный вызов после того, как Login () файла ADAL.js не вызывается в Edge для примера.

Проблема в том, что используемая вами библиотека не предоставляет это свойство. Таким образом, вы должны обновить библиотеку самостоятельно, чтобы выставить это свойство.

Чтобы было проще, я бы предложил вам использовать официальную библиотеку MSAL Angular: @ azure / msal-angular . Он предоставляет обратные вызовы для loginfailure или loginSuccess.

Примечание: для использования MSAL Angular с Angular 6+ необходимо установить rxjs-compat

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...