Angular - Маршрутизатор неправильно перенаправляет после аутентификации OAuth IDP - PullRequest
0 голосов
/ 30 августа 2018

У нас есть угловое приложение и Oauth Identity Provider. Мы используем охрану маршрутизатора для аутентификации.

Когда мы попадаем на маршрут, мы перенаправляемся на страницу входа в систему IDP, и после аутентификации он перенаправляет нас обратно на redirectUri, который далее перенаправляет на нужный путь маршрута.

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

После некоторых исследований мы обнаружили, что происходят два события - HashChange и PopState. Мы считаем, что событие popstate хранится в истории браузера и периодически вызывается, что вызывает проблему, поскольку событие popstate перенаправляет нас обратно на redirectUri, предоставленный в IDP.

Любая информация и решение по этому вопросу высоко ценится.

...