@kintone/kintone-js-sdk
Version:
The SDK of kintone REST API client on node and browser
152 lines (120 loc) • 3.04 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _Common = _interopRequireDefault(require("../utils/Common"));
var _constant = _interopRequireDefault(require("./constant"));
var _Credential = _interopRequireDefault(require("../model/authentication/Credential"));
var _HTTPHeader = _interopRequireDefault(require("../model/http/HTTPHeader"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* Authentication module
*/
class Auth {
constructor() {
this.basicAuth = null;
this.passwordAuth = null;
this.apiToken = null;
}
/**
* check required arguments
*
* @param {Object} params
* @returns {Boolean}
*/
_validateRequiredArgs(params) {
return _Common.default.validateRequiredArgs(params);
}
/**
* setBasicAuth
* @param {Object} params
* @param {String} params.username
* @param {String} params.password
* @return {this}
*/
setBasicAuth({
username,
password
}) {
this._validateRequiredArgs({
username,
password
});
this.basicAuth = new _Credential.default(username, password);
return this;
}
/**
* getBasicAuth
* @return {KintoneCredential}
*/
getBasicAuth() {
return this.basicAuth;
}
/**
* setPasswordAuth
* @param {Object} params
* @param {String} params.username
* @param {String} params.password
* @return {this}
*/
setPasswordAuth({
username,
password
}) {
this._validateRequiredArgs({
username,
password
});
this.passwordAuth = new _Credential.default(username, password);
return this;
}
/**
* getPasswordAuth
* @return {KintoneCredential}
*/
getPasswordAuth() {
return this.passwordAuth;
}
/**
* setApiToken
* @param {Object} params
* @param {String} params.apiToken
* @return {this}
*/
setApiToken({
apiToken
}) {
this._validateRequiredArgs({
apiToken
});
this.apiToken = apiToken;
return this;
}
/**
* getApiToken
* @return {String}
*/
getApiToken() {
return this.apiToken;
}
/**
* createHeaderCredentials
* @return {Array<HTTPHeader>}
*/
createHeaderCredentials() {
const headerCredentials = [];
if (this.apiToken) {
headerCredentials.push(new _HTTPHeader.default(_constant.default.HEADER_KEY_AUTH_APITOKEN, this.apiToken));
}
if (this.basicAuth) {
headerCredentials.push(new _HTTPHeader.default(_constant.default.HEADER_KEY_AUTH_BASIC, 'Basic ' + Buffer.from(this.basicAuth.getUsername() + ':' + this.basicAuth.getPassword()).toString('base64')));
}
if (this.passwordAuth) {
headerCredentials.push(new _HTTPHeader.default(_constant.default.HEADER_KEY_AUTH_PASSWORD, Buffer.from(this.passwordAuth.getUsername() + ':' + this.passwordAuth.getPassword()).toString('base64')));
}
return headerCredentials;
}
}
var _default = Auth;
exports.default = _default;