成功登录后如何发送JWT和每个请求?

时间:2018-07-23 12:21:12

标签: node.js express authorization jwt

我有一个Node.js Express Web应用程序,用户可以在其中通过将其电子邮件地址和密码发布到路由/signin来登录,并在成功后收到JWT令牌并将其存储在本地存储中。 br /> 我是刚开始使用JWT令牌进行授权的人,有一件事我不太了解该怎么做。成功登录后,如何确保用户始终随每个请求发送JWT令牌?

我没有使用任何前端框架,例如React或Vue。

3 个答案:

答案 0 :(得分:1)

您需要在每个受受保护的请求上发送HTTP标头。 JWT 令牌将由 Authorization 标头携带,如下所示:

//fonction deplacement du tableauAvant au tableauApres
$(document).ready(function(){
    $('.table-bougesurApres').click(function (e) {
                 $('#table1 tr.selected').insertAfter('#table2 tbody tr:last-child');
    })
})  


//fonction deplacement du tableauApres au tableauAvant
$(document).ready(function(){
    $('.table-bougesurAvant').click(function (e) {
                 $('#table2 tr.selected').insertAfter('#table1 tbody tr:last-child');
    })
})  

然后您的后端将检查令牌是否有效且未过期,并授予对数据/路由等的访问权限。

看看https://jwt.io/introduction/https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication以及有关该主题的更多

答案 1 :(得分:0)

使用 Jquery Ajax

$.ajax({
    type: "POST", //Any CRUD Op
    url: 'url'  //the url to call
    data: datatosend,     
    contentType: contentType,           
    beforeSend: function (xhr) {   //Include the bearer token in header
        xhr.setRequestHeader("Authorization", 'Bearer '+ jwt);
    }
},
success: function(){
    //Your success code
}
)

答案 2 :(得分:0)

把JWT存储在cookie中而不是在本地存储中就可以了。感谢@JohnPapadopoulos的建议:)