msa6886
@msa6886

Как правильно перейти по защищенной ссылке с помощью Json Web Token?

С сервера отправляется токен после сверки логина, пароля.
req.login(user, {session: false}, (err)=>{
        if(err){
          res.send(err);
        }
        if(res) {
          let payload = {id: user.username};
          const token = jwt.sign(payload, secretKey);
          return res.json({token: token});
        }

На клиенте полученый токен сохраняется в localStorage:
$.ajax({
            url: post_url,
            type: request_method,
            data: form_data
        }).done(function(response){
            localStorage.setItem("token", response.token);
        });

1. После сохранения токена, дальше ничего не происходит, получается нужно вручную сразу же переходить по новой ссылке?
2. Как правильно написать код, чтобы клиент перешел по защищеному роуту с таким хэдером: < "Authorization", 'Bearer '+ localStorage.token) >
  • Вопрос задан
  • 69 просмотров
Пригласить эксперта
Ответы на вопрос 1
Robur
@Robur
Знаю больше чем это необходимо
После сохранения токена, дальше ничего не происходит, получается нужно вручную сразу же переходить по новой ссылке

У вас код который получает токен, сохраняет его и больше ничего не делает, поэтому у вас больше ничего и не происходит.
Дальше токен надо использовать.

Как правильно написать код, чтобы клиент перешел по защищеному роуту с таким хэдером: < "Authorization", 'Bearer '+ localStorage.token) >

Используйте headers при вызове $.ajax
тут описаны детали:
https://api.jquery.com/jQuery.ajax/

Если вы ждете что дальше оно будет работать "как-то само" как с куками - не будет. Надо этот токен использовать "руками", добавляя в запросы к серверу.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы