Установка токена JWT в заголовке из локального хранилища для перенаправления

#authentication #jwt #frontend

Вопрос:

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

 localStorage.setItem("Token", token);
 

Любой дальнейший вызов ajax должен быть в состоянии использовать

 $.ajax({
  type: 'GET',
  url: '/protected_route,
  headers: {
   "Accept": "application/json",
   "Token" : localStorage.getItem(Token),
   success: (data) => {
    // do something with the data
   }}
 

Это должно работать до тех пор, пока токен все еще установлен в локальном хранилище и срок его действия не истек. Мой вопрос в том, если я хочу перенаправить сразу после входа в систему на защищенный путь, как бы я это сделал?

 window.location = '/my_profile
 

не позволяет мне устанавливать заголовки.
Я удивлен, что не смог найти ничего по этому вопросу. Похоже, это очень распространенный случай использования при использовании JWT.
Спасибо!!

Комментарии:

1. Если эта страница недоступна через API с токеном, вы можете установить файл cookie и аутентифицировать запрос на основе этого

2. Спасибо @abdusco. Я уверен, что это сработает. Однако дело в том, чтобы создать аутентификацию на основе токенов. Все запросы должны иметь маркер в заголовке.