React-router HashRouter При перенаправлении корневого URL-адреса с параметрами запроса маршрут добавляется после параметров

#reactjs #react-router #single-sign-on #react-router-dom

#reactjs #react-router #единый вход #react-router-dom

Вопрос:

У меня следующая проблема. Я реализую единый вход, который после успешного входа перенаправляет пользователя на корневой uri с помощью access_token в качестве параметра запроса https://example.com/?token=access_token_jwt

На корневом маршруте, если этот токен присутствует, он проверяется через api и сохраняется в sessionStorage. После проверки выполняется перенаправление на «/ dashboard». Тем не менее, перенаправленный URL- https://example.com/?token=access_token_jwt/#/dashboard адрес (я использую HashRouter и является ключевым для приложения)

Как я могу убедиться, что параметры запроса очищены перед перенаправлением?

Я долго искал, но не нашел ни одного, у кого возникла эта проблема.

Спасибо за помощь!

Ответ №1:

Вам нужно заставить браузер очистить URL-адрес.

Я исправил это, выполнив быструю проверку формата URL в моем файле App.tsx:

 if (window.location.pathname !== '/') {
    window.location.pathname = '/'
}