使用Curl / Node.js的OAuth2没有给出任何响应

时间:2017-05-24 09:37:49

标签: node.js curl oauth-2.0 access-token postman

我能够使用带有以下参数的邮递员成功创建Access令牌, 回调网址:https://www.getpostman.com/oauth2/callback 令牌名称: 身份验证网址: 访问令牌网址: 客户ID: 客户秘密: 授权类型:客户端凭证。

但我无法通过Curl或node.js获取访问令牌,如下所示,

var request = require("request");
var options = { method: 'POST',
  url: '',
  headers: { 'content-type': 'application/json' },
  body: '{"client_id":"","client_secret":"","audience":","grant_type":"client_credentials"}' };
request(options, function (error, response, body) {
  if (error) console.log(error);
  //console.log(response);
  console.log(body);
});

我将邮递员的详细信息映射到node.js脚本,

Auth URL: url
Access Token URL: audience
Client Id: client_id
Client Secret: client_secret
Grant Type: grant_type

但我没有回应。我可以知道我哪里出错吗?或者我们是否有其他机制来获取OAuth2访问令牌?

我刚刚关注了https://manage.auth0.com/#/apis/590983763e3ae44a0dd1a219/test

中的脚本

1 个答案:

答案 0 :(得分:0)

经过一番研究,我自己找到了使用请求通过代码生成OAuth2令牌的解决方案,并将Postman值映射到request_options中,

const options = {
  url: access_token_url,
  method: 'POST',
  auth: {
    user: client_id,
    pass: client_secret,
  },
  form: {
    grant_type: grant_type,
  },
};

并使用请求方法获取访问令牌,

request(options, (error, response, body) => {
      if (error) return reject(error);
      return resolve(body);
    });

这有助于我在脚本中生成OAuth2访问令牌并修复我的要求。