oAuth | MESA Docs
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
Returns
object
patch(path, data[, options])
Make a PATCH request to an external Rest API.
Parameters
Returns
object
delete(path[, options])
Make a DELETE request to an external Rest API.
Parameters
Returns
object