2017-01-14 2 views
1

Я пытаюсь выполнить простую аутентификацию JWT, используя только JQuery. Я уже тестировал бэкэнд с почтальоном, и все, кажется, работает там.Простой JWT Auth с использованием JQuery

Вот как мой интерфейс выглядит код

$("#send").click(function(){ 
    var name = $('#name').val(); 
    var password = $('#password').val(); 
    var token = '' 
    $.ajax({ 
     type: 'POST', 
     url: '/authenticate', 
     data: { name: name , password: password }, 
     success: function(resultData){ 
     var token = resultData.token; 
     // console.log(token); 
     $.ajax({ 
      type: 'GET', 
      url: '/memberinfo', 
      headers: {"Authorization": token}, 
      success: function(data){ 
      $(location).attr('href', '/memberinfo') 
      } 
     }); 
     } 
    }); 
}); 

поэтому, когда я попадаю на страницу MemberInfo она показывает мне, я несанкционированным. Не совсем уверен, правильно ли я делаю Ajax. Было бы очень полезно, если бы кто-то мог направить меня правильно. Спасибо

ответ

1

Это просто. Просто извлеките токен в ответ на запрос входа и сохраните его в localStorage. Затем используйте токен из локального хранилища внутри каждого заголовка запроса. Пожалуйста, посмотрите пример кода здесь.

https://github.com/chaofz/jquery-jwt-auth

1

Возможно, вы ошибаетесь, но быстрый взгляд на ваш код может быть вызван тем, что вы установили api-вызов для GET request и на странице своего клиента тот же URL-адрес /memberinfo. ваш результат теста с использованием Postman работает, а также вы правильно перенаправлены на /memberinfo после подтверждения успеха, однако, поскольку вы перенаправлены на тот же адрес /memberinfo, и ваш браузер не отправил headers: {"Authorization": token}, вы получили unauthorised. попытайтесь сделать URL-адрес вызова api другим с помощью страницы участника-клиента.

Смежные вопросы