В настоящее время я работаю над приложением в angular 6, которое использует AAD для аутентификации пользователей. Здесь я использовал библиотеку azure / msal-angular для подключения к AAD v2. Я инициализировал библиотеку своим идентификатором клиента, как указано в файле readme для проекта, и теперь могу войти в систему.
Проблема заключается в следующем: после входа в систему я настроил URL-адрес перенаправления на: http://localhost:4200/account
целевую страницу после входа в систему, где я хочу, чтобы пользователь перешел после успешного входа. Здесь я указал маршрут как таковой:
{ path: 'account', component: AccountDetailedComponent }
Это нормально, за исключением того, что URL-адрес перенаправления из AAD переходит на http://localhost:4200/account#id_token=xxxxx
, и, хоть убей, я не могу избавиться от hashbang и id_token.
Я ожидал, что id_token = xxxx будет таким параметром запроса:
http://localhost:4200/account?id_token=xxxx
что сделало бы мой маршрут совпадающим, но это не так, и поэтому маршрут становится недействительным.
Мой вопрос: как я могу найти маршрут, соответствующий указанному маршруту?
Я читал о сопоставлениях в маршрутах, но действительно ли я должен сделать регулярное выражение для сопоставления общего маршрута перенаправления? Я не вижу ни в интерфейсе возможности удалить этот хэшбанг, ни в библиотеке.
Изменить
Причина, по которой я подумал, что это несоответствие маршрута, заключалась в том, что меня снова перенаправили на страницу входа после первоначального перенаправления на / account. Он будет мигать / account # id_token = xxxx, а затем снова перенаправлять на страницу входа. В моем ответе ниже описывается решенная проблема.
Надеюсь, ты сможешь помочь.
С уважением, Крис
redirectUri
из конфигурации MSAL в вашемapp.module.ts
? - person FIL   schedule 07.12.2018