为什么这个节点js请求返回401状态代码?

时间:2016-02-22 04:37:32

标签: node.js oauth oauth-2.0 httprequest

这是对访问令牌的简单oauth2请求。运行此命令将返回401状态代码和空错误对象。使用curl请求传递相同的参数会成功完成。

var request = require('request');
var payload = {
                "grant_type": "password",
                "client_id": user.clientID,
                "client_secret": user.clientsecret,
                "username": user.username,
                "password": user.password
              };

var options = {
                method: 'POST',
                url: baseURL + passrequestURL,
                headers: {
                           'accept': "application/json",
                           'content-type': "application/x-www-form-urlencoded"
                },
                data: JSON.stringify(payload)
              };

function callback(error, response, body) {
  if (!error && response.statusCode == 200) {
    var info = JSON.parse(body);
    console.log(info);
  } else {
    console.log(response.statusCode);
  }
}

request(options, callback);

1 个答案:

答案 0 :(得分:0)

想出来。将“data”字段切换到“form”字段并将其传递给有效负载对象,而不将其转换为JSON字符串。

我使用Postman chrome扩展程序来解决这个问题并强烈推荐它。