oauth-v2-client
Version:
Oauth V2 client based on axios
85 lines (84 loc) • 4.26 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var AuthorizationCodeGrantControl_1 = __importDefault(require("./grant-controls/AuthorizationCodeGrantControl"));
var ClientCredentialsGrantControl_1 = __importDefault(require("./grant-controls/ClientCredentialsGrantControl"));
var ImplicitGrantControl_1 = __importDefault(require("./grant-controls/ImplicitGrantControl"));
var PasswordGrantControl_1 = __importDefault(require("./grant-controls/PasswordGrantControl"));
var AuthorizationCodePKCEGrantControl_1 = __importDefault(require("./grant-controls/AuthorizationCodePKCEGrantControl"));
var JWTGrantControl_1 = __importDefault(require("./grant-controls/JWTGrantControl"));
var OauthClient = /** @class */ (function () {
function OauthClient(config) {
var _a;
this.config = config;
// init controls
/**
* Implicit grant
*/
this.implicit = new ImplicitGrantControl_1.default(config, {
authUrl: this.config.oauthOptions.authUrl,
basicAuthHeader: this.config.oauthOptions.basicAuthHeader,
callbackUrl: "".concat(this.config.oauthOptions.callbackUrl),
clientId: this.config.oauthOptions.clientId,
scopes: this.config.oauthOptions.scopes
});
/**
* Authorization code
*/
this.authorizationCode = new AuthorizationCodeGrantControl_1.default(config, {
accessTokenUrl: "".concat(this.config.oauthOptions.accessTokenUrl),
authUrl: this.config.oauthOptions.authUrl,
callbackUrl: "".concat(this.config.oauthOptions.callbackUrl),
clientId: this.config.oauthOptions.clientId,
basicAuthHeader: this.config.oauthOptions.basicAuthHeader,
clientSecret: this.config.oauthOptions.clientSecret,
scopes: this.config.oauthOptions.scopes
});
/**
* Authorization code with PKCE
*/
this.authorizationCodePKCE = new AuthorizationCodePKCEGrantControl_1.default(config, {
accessTokenUrl: "".concat(this.config.oauthOptions.accessTokenUrl),
authUrl: this.config.oauthOptions.authUrl,
callbackUrl: "".concat(this.config.oauthOptions.callbackUrl),
clientId: this.config.oauthOptions.clientId,
codeChallengeMethod: (_a = this.config.oauthOptions.codeChallengeMethod) !== null && _a !== void 0 ? _a : "S256",
basicAuthHeader: this.config.oauthOptions.basicAuthHeader,
clientSecret: this.config.oauthOptions.clientSecret,
scopes: this.config.oauthOptions.scopes
});
/**
* Password grant
*/
this.password = new PasswordGrantControl_1.default(config, {
accessTokenUrl: "".concat(this.config.oauthOptions.accessTokenUrl),
username: "".concat(this.config.oauthOptions.username),
password: "".concat(this.config.oauthOptions.password),
clientId: this.config.oauthOptions.clientId,
clientSecret: this.config.oauthOptions.clientSecret,
scopes: this.config.oauthOptions.scopes,
basicAuthHeader: this.config.oauthOptions.basicAuthHeader,
});
/**
* Client credentials
*/
this.client = new ClientCredentialsGrantControl_1.default(config, {
accessTokenUrl: "".concat(this.config.oauthOptions.accessTokenUrl),
clientId: this.config.oauthOptions.clientId,
clientSecret: this.config.oauthOptions.clientSecret,
scopes: this.config.oauthOptions.scopes,
basicAuthHeader: this.config.oauthOptions.basicAuthHeader,
});
/**
* Jwt token
*/
this.jwt = new JWTGrantControl_1.default(config, {
accessTokenUrl: "".concat(this.config.oauthOptions.accessTokenUrl),
jwtToken: this.config.oauthOptions.jwtToken,
});
}
return OauthClient;
}());
exports.default = OauthClient;