В настоящее время я работаю над приложением в 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
, который бы соответствовал моему маршруту, но это не так, и поэтому маршрут становится недействительным.
Мой вопрос: как я могу решить маршрут, соответствующий указанному маршруту?
Я читал о сопоставителях на маршрутах, номожет ли быть так, что я должен сделать регулярное выражение для соответствия обычному маршруту перенаправления?Я не вижу ни опции в интерфейсе, чтобы удалить этот hashbang, ни в библиотеке.
Редактировать
Причина, по которой это не соответствует маршрутубыл, я был перенаправлен на страницу входа снова, после первоначального перенаправления в / account.Он будет мигать / account # id_token = xxxx, а затем перенаправить на страницу входа снова.Мой ответ ниже описывает решенную проблему.
Надеюсь, вы поможете.
С уважением, Крис