我有一个Node.js Express Web应用程序,用户可以在其中通过将其电子邮件地址和密码发布到路由/signin
来登录,并在成功后收到JWT令牌并将其存储在本地存储中。 br />
我是刚开始使用JWT令牌进行授权的人,有一件事我不太了解该怎么做。成功登录后,如何确保用户始终随每个请求发送JWT令牌?
我没有使用任何前端框架,例如React或Vue。
答案 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的建议:)