使用节点 js 获取授权标头令牌
Posted
技术标签:
【中文标题】使用节点 js 获取授权标头令牌【英文标题】:get authorization header token with node js 【发布时间】:2017-11-06 02:41:12 【问题描述】:我想在后端节点js中获取token。
首先,我从 jwt 获取令牌并存储在本地存储中,但是当我想使用此令牌发送请求时,我无法在服务器端获取它。
客户端:
function list_users()
url= "http://localhost:8181/users";
var tok = window.localStorage.getItem('token');
if (tok)
/*
$.ajaxSetup(
headers:
'x-access-token': tok
);
*/
$.ajax(
headers: 'Authorization': tok,
dataType: "application/json; charset=utf-8",
url,
type: 'GET',
dataType: 'json',
success: function (json)
alert("done");
)
服务器端:
router.use(function(req, res, next)
res.header("Access-Control-Allow-Origin", "*");
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
res.header("Access-Control-Allow-Headers", "Authorization");
console.log(req.headers['authorization']);
...
但是
req.headers['授权']
打印
“未定义”
请提供任何解决方案。
【问题讨论】:
您是否检查过请求以确认令牌是否已发送到服务器? 不,还没有,我该怎么做? developer.chrome.com/devtools @CássioMazzochiMolin,不,请求不将令牌发送到服务器,但请求标头设置为“授权”。看看这个link 【参考方案1】:试试这样的:
.....
.....
$.ajax(
headers: 'Authorization': 'Bearer '+tok,
......
......
【讨论】:
【参考方案2】:这样使用:
req.header('authorization');
【讨论】:
以上是关于使用节点 js 获取授权标头令牌的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Angular 中从服务器获取带有 jwt 令牌的响应标头