javascript - 使用 Jquery 的简单 JWT 身份验证

标签 javascript jquery ajax api

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

这是我的前端代码的样子

$("#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 调用。如果有人能以正确的方式指导我,那将非常有帮助。谢谢

最佳答案

对于简单的用例,只需在登录请求响应中检索 token 并将其保存到 localStorage 或 sessionStorage。然后在每个请求 header 中使用 localStorage 中的 token 。 请在此处查看示例代码。

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

另一方面,在这些存储中存储 token 是不安全的,因为它没有受到 XSS 攻击的保护。

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

请阅读更多here

关于javascript - 使用 Jquery 的简单 JWT 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41647112/

相关文章:

javascript - 使用 onchange 输出生成的链接

javascript - 为什么 new 在下面的 jquery 代码中是可选的?

javascript - 在html按钮onclick中打开js文件

javascript - 使用 jQuery/JS 创建的按钮,对点击没有反应

javascript - 无法获取未定义或空引用 IE 11 ASP.NET 的属性 'stringify'

javascript - 具有 2 种模式的 html 输入模式

javascript - Firefox 需要在同一主机上获得 Jquery-Get 授权

javascript - 如何使用数组和 JQuery 创建可过滤菜单?

javascript - AJAX POST 成功但没有执行任何操作

javascript - 帮助我使 jquery AJAXed divs 的链接像 iframe 一样工作