Ну, это неловко ... как ни странно, я не смог обернуть голову вокруг этого якобы простого решения. По сути, веб-приложение генерирует токен доступа и токен обновления после аутентификации при входе в систему из Spotify API, и само по себе оно работает нормально и выдает следующее:
локальный: 3000 / # access_token = BQCs .. & refresh_token = AQCC ...
Однако у меня есть кнопка, т. Е.
<Button href="#main1"> Foo? </Button>
, который приводит к разделу страницы после его нажатия и заменяет токены в URL, поэтому при обновлении страницы необходимые токены не читаются, и, следовательно, конечные точки не будут работать без него.
Я пробовал следующие методы, такие как:
- реализует
event.preventDefault()
, который запускается обработчиком onClick ()
- реактивно-прокручиваемый якорь с
goToAnchor('section1', false)
- логическое значение, т. Е.
loggedIn: token ? true : false
, где оно условно отображает компоненты при условии, что обнаружены токены, и window.location='localhost:3000/#access_token=' + access + '&refresh_token=' + refresh
, если их нет
- реагирует роутер с
<Link to={params.access_token}>
К сожалению, первые два из этих методов имели схожий начальный результат из-за своей природы полного удаления хэша URL, поэтому его оставляли бы с:
локальный: 3000
Последние два, с другой стороны, просто дают неопределенное значение токенов после обновления страницы, что означает, что токены не сохраняются даже после начальной загрузки.
Каков наилучший подход к решению этой проблемы? Как эффективно хранить токены доступа в хэше URL?
Как всегда, любая помощь и предложения высоко ценятся. Спасибо.