使用 Jquery 的简单 JWT 身份验证

Sha*_*did 2 javascript api ajax jquery

我正在尝试仅使用 JQuery 进行简单的 JWT 身份验证。我已经用邮递员测试了后端,一切似乎都在那里工作。

这是我的前端代码的样子

$("#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')
          }
        });
      }
    });
});
Run Code Online (Sandbox Code Playgroud)

所以当我被重定向到会员信息页面时,它显示我未经授权。不太确定我是否正确执行 Ajax 调用。如果有人能以正确的方式指导我,那将非常有帮助。谢谢

Ole*_*aev 6

对于简单的用例,只需在登录请求响应中检索令牌并将其保存到 localStorage 或 sessionStorage。然后在每个请求标头中使用来自 localStorage 的令牌。请在这里查看示例代码。

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

另一方面,将令牌存储在这些存储中是不安全的,因为它不受 XSS 攻击的保护。

您最好将令牌存储在 cookie 中并检查您的 cookie 策略以防止 CSRF 攻击。

在这里阅读更多