#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. Я уверен, что это сработает. Однако дело в том, чтобы создать аутентификацию на основе токенов. Все запросы должны иметь маркер в заголовке.