oAuth

vendor/Oauth.js

new Oauth(grantType, tokenKey)

Class containing methods to authenticate and make authenticated requests with a third party API

Parameters

Name
Type
Description

grantType

string

Oauth grant type. One of: refresh_token, password, or custom.

tokenKey

string

The key of the secret containing the oAuth token information.

Examples

// Refresh token flow.
const Oauth = require('vendor/Oauth.js');
const oauth = new Oauth('refresh_token', 'service.oauth');
// Username password flow.
const Oauth = require('vendor/Oauth.js');
// Save username and password from external standalone secrets.
let token = JSON.decode(Mesa.secret.get('service.oauth', '{}'));
token.username = Mesa.secret.get('service-username');
token.password = Mesa.secret.get('service-password');
Mesa.secret.set('service.oauth', JSON.stringify(token));
const oauth = new Oauth('password', 'service.oauth');
// Skubana flow (access_token that does not expire)
const Oauth = require('vendor/Oauth.js');
const oauth = new Oauth('custom', 'skubana.oauth');
const getResponse = oauth.get('https://dev.skubana.com/v1/orders');
Mesa.log.info('Get Response: ', getResponse);
// Oauth Usage
const getResponse = oauth.get('https://example.com/products.json');
const postResponse = oauth.post('https://example.com/products.json', {});
Mesa.log.info('Get Response: ', getResponse);
Mesa.log.info('Post Response: ', postResponse);

Returns

  • Void

constructor(grantType, tokenKey, hasHeaders)

Parameters

Name
Type
Description

grantType

string

tokenKey

string

hasHeaders

boolean

Returns

  • Void

init()

Init the access token

Returns

  • Void

request(method, path, data, options)

Request method with the refresh token retry if fails.

Parameters

Name
Type
Description

method

string

Request method.

path

string

Request path.

data

object

options

Types.RequestOptions

Additional configuration for Oauth calls

Returns

  • object

get(path[, options])

Make a GET request to an external Rest API

Parameters

Name
Type
Description

path

string

Request path

options

Types.RequestOptions

Additional configuration for Oauth calls

Optional

Returns

  • object

post(path, data[, options])

Make a POST request to an external Rest API.

Parameters

Name
Type
Description

path

string

Request path

data

object

Request payload

options

Types.RequestOptions

Additional configuration for Oauth calls

Optional

Returns

  • object

put(path, data[, options])

Make a PUT request to an external Rest API.

Parameters

Name
Type
Description

path

string

Request path

data

object

Request payload

options

Types.RequestOptions

Additional configuration for Oauth calls

Optional

Returns

  • object

patch(path, data[, options])

Make a PATCH request to an external Rest API.

Parameters

Name
Type
Description

path

string

Request path

data

object

Request payload

options

Types.RequestOptions

Additional configuration for Oauth calls

Optional

Returns

  • object

delete(path[, options])

Make a DELETE request to an external Rest API.

Parameters

Name
Type
Description

path

string

Request path

options

Types.RequestOptions

Additional configuration for Oauth calls

Optional

Returns

  • object

Last updated