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