API成功请求,但失败axios

时间:2020-05-23 08:03:31

标签: node.js ajax axios

我正在用pkce执行auth0的代码授予流程,并且有一个api调用,用于在auth0文档中获取令牌,就像这样-

var request = require("request");

var options = {
  method: 'POST',
  url: 'https://YOUR_DOMAIN/oauth/token',
  headers: {'content-type': 'application/x-www-form-urlencoded'},
  form: {
    grant_type: 'authorization_code',
    client_id: 'YOUR_CLIENT_ID',
    code_verifier: 'YOUR_GENERATED_CODE_VERIFIER',
    code: 'YOUR_AUTHORIZATION_CODE',
    redirect_uri: 'https://YOUR_APP/callback'
  }
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

现在这可以成功工作并获得令牌,但是如果我尝试使用axios进行相同的请求,它将失败并返回401未经授权的错误。谁能告诉我我做错了什么?我的猜测是我没有正确发送尸体。

const axios = require("axios");

async function getTokens() {
const body =  {
    grant_type: 'authorization_code',
    client_id: 'YOUR_CLIENT_ID',
    code_verifier: 'YOUR_GENERATED_CODE_VERIFIER',
    code: 'YOUR_AUTHORIZATION_CODE',
    redirect_uri: 'https://YOUR_APP/callback'
  };

const headers = {'content-type': 'application/x-www-form-urlencoded'};

const data = axios.post("https://YOUR_DOMAIN/oauth/token", body, {headers});

console.log(data);

}

预先感谢您的帮助。

0 个答案:

没有答案