courtbot-engine-data-courtbook
Version:
A data source for courtbot that pulls data from courtbook.
45 lines (35 loc) • 1.56 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.clientCredentialsBearerToken = undefined;
var _log4js = require("log4js");
var _log4js2 = _interopRequireDefault(_log4js);
var _nodeRestClient = require("node-rest-client");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var log = _log4js2.default.getLogger("oauth");
var client = new _nodeRestClient.Client();
var clientCredentialsBearerToken = exports.clientCredentialsBearerToken = function clientCredentialsBearerToken(_ref) {
var audience = _ref.audience,
tokenUrl = _ref.tokenUrl,
clientId = _ref.clientId,
clientSecret = _ref.clientSecret;
log.trace("Getting auth token from " + tokenUrl + " using " + clientId + " and audience " + audience + ".");
return new Promise(function (resolve, reject) {
var postData = {
data: {
client_id: clientId,
client_secret: clientSecret,
audience: audience,
grant_type: "client_credentials"
},
headers: { "Content-Type": "application/json" }
};
client.post(tokenUrl, postData, function (responseData) {
return responseData.access_token ? resolve(responseData.access_token) : reject(new Error(responseData.error_description));
}).on("error", function (err) {
log.error("Failed to get auth token", err);
reject(new Error("Failed to get auth token"));
});
});
};