MsAdalAngular6Service - обрабатывать неверные имена входа - PullRequest
0 голосов
/ 23 октября 2019

У меня есть приложение Angular 7, использующее библиотеку ms-adal-angular6, и я пытаюсь определить поток кода.

Я правильно аутентифицируюсь в AAD с пользователем, который в данный момент вошел в систему с использованием своей учетной записи AAD. Я получаю полностью заполненную переменную MsAdalAngular6Service со всеми заполненными свойствами.

Где в этом процессе я могу определить, не удалось ли войти в систему? Мой код выглядит следующим образом:

 export class AppComponent {

    constructor(private adalSvc: MsAdalAngular6Service) {

    var token = this.adalSvc.acquireToken('http://adal.resource.com').subscribe((token: string) => {            
       // This works fine for pre-logged in users, token is valid
    });

    }
 }

Где я должен проверить, если весь этот процесс "не удалось"? Мы используем комбинацию отдельных учетных записей пользователей, а также Azure AD, и если пользователь не проходит процесс Azure AD, ему необходимо перенаправить его на процесс IUA.

Нужно ли просто проверить, вернулся ли онтокен действителен? На этом этапе adalSvc имеет полную информацию о пользователе, если он уже зарегистрирован в Azure AD.

1 Ответ

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

При аутентификации с помощью AAD процесс обрабатывается независимо на «портале AAD», а не на вашем веб-сайте. При успешном входе в систему портал AD будет перенаправлять на «URL-адрес перенаправления», который вы установили с действительным токеном.

Но если вход в систему не удастся, появится страница ошибки, подобная приведенной ниже, и она НЕ будет перенаправлена:

enter image description here

Кроме того, эта страница не может быть настроена пользователем. Таким образом, вы не можете разместить здесь другую ссылку для входа или какое-либо уведомление для пользователя.

Что касается вашего требования, хорошей практикой является предоставление пользователям страницы для выбора входа в AAD или с использованием их индивидуальных учетных записей. В ms-adal-angular6 вы можете установить popUp:true, тогда страница входа появится во всплывающем окне, а не на новой странице. Если вход не выполнен, пользователю просто нужно закрыть окно и выбрать другой метод входа.

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