У нас есть угловое приложение и Oauth Identity Provider. Мы используем охрану маршрутизатора для аутентификации.
Когда мы попадаем на маршрут, мы перенаправляемся на страницу входа в систему IDP, и после аутентификации он перенаправляет нас обратно на redirectUri, который далее перенаправляет на нужный путь маршрута.
Но недавно, после реализации стратегии HashLocation, мы столкнулись с периодически возникающей проблемой. Иногда после аутентификации вызывается redirectUri, а затем перенаправляется на нужный маршрут. Но странным образом после этого элемент управления снова возвращается к redirectUri и останавливается там.
После некоторых исследований мы обнаружили, что происходят два события - HashChange
и PopState
. Мы считаем, что событие popstate хранится в истории браузера и периодически вызывается, что вызывает проблему, поскольку событие popstate перенаправляет нас обратно на redirectUri, предоставленный в IDP.
Любая информация и решение по этому вопросу высоко ценится.