Home > database >  I cannot request an Oauth 2.0 token in javascript
I cannot request an Oauth 2.0 token in javascript

Time:12-29

I am making a request for getting an access token with Oauth 2.0, in javascript. The docs of the API use the request module (deprecated), so I am searching for an alternative. I tried with fetch and axios, but none of them seem to be working. You can read this from the docs.

If i make the request with axios (code) it returns this error,

while if I use fetch (code) this it the result.

At least fetch makes the call successfully, but I have the impression that he cannot pass the auth parameter, because the error is caused beacause of this.

May someone help me? I appreciate it a lot.

CodePudding user response:

You can use axios this way:

axios.interceptors.request.use(function (config) {
  // Do something before request is sent
  config[Authentiaction] = "Bearer"   token
  return config;
}, function (error) {
  // Do something with request error
  return Promise.reject(error);
});

I think this can help.

CodePudding user response:

You can use fetch or axios instead of request, but they use different options attributes, compared to request.

With axios, it is

const options = {
  method: 'POST',
  auth: {
    username: client.id,
    password: client.secret
  },
  headers: { 'content-type': 'application/x-www-form-urlencoded' },
  data: 'grant_type=client_credentials&scope=basic'
};

instead.

With fetch, it is

const options = {
  method: 'POST',
  headers: {
    authorization: "Basic "   Buffer.from(client.id   ":"   client.secret).toString("base64"),
    'content-type': 'application/x-www-form-urlencoded'
  },
  body: 'grant_type=client_credentials&scope=basic'
};
  • Related