Oauth
Reference for the MESA Oauth.js custom code class, covering refresh_token, password and custom grants and methods for authenticated API requests.
vendor/Oauth.js
new Oauth(grantType, tokenKey)
Section titled “new Oauth(grantType, tokenKey)”Class containing methods to authenticate and make authenticated requests with a third party API
Parameters
Section titled “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
Section titled “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 Usageconst 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
Section titled “Returns”Void
constructor(grantType, tokenKey, hasHeaders)
Section titled “constructor(grantType, tokenKey, hasHeaders)”Parameters
Section titled “Parameters”| Name | Type | Description | |
|---|---|---|---|
| grantType | string |
||
| tokenKey | string |
||
| hasHeaders | boolean |
Returns
Section titled “Returns”Void
init()
Section titled “init()”Init the access token
Returns
Section titled “Returns”Void
request(method, path, data, options)
Section titled “request(method, path, data, options)”Request method with the refresh token retry if fails.
Parameters
Section titled “Parameters”| Name | Type | Description | |
|---|---|---|---|
| method | string |
Request method. | |
| path | string |
Request path. | |
| data | object |
||
| options | Types.RequestOptions |
Additional configuration for Oauth calls |
Returns
Section titled “Returns”object
get(path[, options])
Section titled “get(path[, options])”Make a GET request to an external Rest API
Parameters
Section titled “Parameters”| Name | Type | Description | |
|---|---|---|---|
| path | string |
Request path | |
| options | Types.RequestOptions |
Additional configuration for Oauth calls | Optional |
Returns
Section titled “Returns”object
post(path, data[, options])
Section titled “post(path, data[, options])”Make a POST request to an external Rest API.
Parameters
Section titled “Parameters”| Name | Type | Description | |
|---|---|---|---|
| path | string |
Request path | |
| data | object |
Request payload | |
| options | Types.RequestOptions |
Additional configuration for Oauth calls | Optional |
Returns
Section titled “Returns”object
put(path, data[, options])
Section titled “put(path, data[, options])”Make a PUT request to an external Rest API.
Parameters
Section titled “Parameters”| Name | Type | Description | |
|---|---|---|---|
| path | string |
Request path | |
| data | object |
Request payload | |
| options | Types.RequestOptions |
Additional configuration for Oauth calls | Optional |
Returns
Section titled “Returns”object
patch(path, data[, options])
Section titled “patch(path, data[, options])”Make a PATCH request to an external Rest API.
Parameters
Section titled “Parameters”| Name | Type | Description | |
|---|---|---|---|
| path | string |
Request path | |
| data | object |
Request payload | |
| options | Types.RequestOptions |
Additional configuration for Oauth calls | Optional |
Returns
Section titled “Returns”object
delete(path[, options])
Section titled “delete(path[, options])”Make a DELETE request to an external Rest API.
Parameters
Section titled “Parameters”| Name | Type | Description | |
|---|---|---|---|
| path | string |
Request path | |
| options | Types.RequestOptions |
Additional configuration for Oauth calls | Optional |
Returns
Section titled “Returns”object
