【问题标题】:get authorization header token with node js使用节点 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['授权']

打印

“未定义”

请提供任何解决方案。

【问题讨论】:

  • 您是否检查过请求以确认令牌是否已发送到服务器?
  • 不,还没有,我该怎么做?
  • @CássioMazzochiMolin,不,请求不将令牌发送到服务器,但请求标头设置为“授权”。看看这个link

标签: jquery ajax express jwt


【解决方案1】:

试试这样的:

.....
.....

$.ajax({
         headers: {'Authorization': 'Bearer '+tok},
......
......

【讨论】:

    【解决方案2】:

    这样使用:

    req.header('authorization');
    

    【讨论】:

      猜你喜欢
      • 2021-07-27
      • 2015-05-26
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 1970-01-01
      • 2016-08-04
      • 2016-11-29
      • 2015-09-19
      相关资源
      最近更新 更多