@betha-plataforma/oauth
Version:
Biblioteca JavaScript para lidar com o fluxo do OAuth 2.0 em aplicações Web, com suporte a TypeScript.
37 lines • 4.02 kB
JavaScript
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
import { getHashFragment } from '../../Helpers';
import { deserializeResponse } from '../../Parsers/AuthServerResponseDeserializer';
import { IFrameAuthenticationHandler, RedirectAuthenticationHandler } from '../Handlers';
export class ImplicitFlow {
constructor(api) {
this.authorize = (anonymous = false, configs) => {
const authorizeUrl = this.getAuthorizeURL(false, anonymous, configs);
return RedirectAuthenticationHandler.navigate(authorizeUrl);
};
this.handleAuthorizeResponse = () => __awaiter(this, void 0, void 0, function* () {
return this.handleBasicAuthorize();
});
this.silentAuthorize = (anonymous = false) => __awaiter(this, void 0, void 0, function* () {
const serializedResponse = yield IFrameAuthenticationHandler.navigate(this.getAuthorizeURL(true, anonymous));
return this.handleBasicAuthorize(serializedResponse);
});
this.handleBasicAuthorize = (serializedResponse = getHashFragment()) => __awaiter(this, void 0, void 0, function* () {
const accessToken = yield deserializeResponse(serializedResponse);
const sessionState = yield deserializeResponse(serializedResponse);
return { accessToken, sessionState };
});
this.getAuthorizeURL = (silent = false, anonymous = false, configs = {}) => {
return this.api.authorization.getAuthorizeURL({ response_type: 'token' }, silent, anonymous, configs);
};
this.api = api;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW1wbGljaXRGbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9Qcm90b2NvbC9GbG93L0ltcGxpY2l0Rmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRW5GLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUl6RixNQUFNLE9BQU8sWUFBWTtJQUd2QixZQUFZLEdBQVE7UUFJSixjQUFTLEdBQUcsQ0FBQyxZQUFxQixLQUFLLEVBQUUsT0FBcUIsRUFBaUIsRUFBRTtZQUMvRixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDckUsT0FBTyw2QkFBNkIsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDOUQsQ0FBQyxDQUFDO1FBRWMsNEJBQXVCLEdBQUcsR0FBK0IsRUFBRTtZQUN6RSxPQUFPLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQ3JDLENBQUMsQ0FBQSxDQUFDO1FBRWMsb0JBQWUsR0FBRyxDQUFPLFlBQXFCLEtBQUssRUFBd0IsRUFBRTtZQUMzRixNQUFNLGtCQUFrQixHQUFXLE1BQU0sMkJBQTJCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFFckgsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN2RCxDQUFDLENBQUEsQ0FBQztRQUVlLHlCQUFvQixHQUFHLENBQ3RDLHFCQUE2QixlQUFlLEVBQUUsRUFDeEIsRUFBRTtZQUN4QixNQUFNLFdBQVcsR0FBd0IsTUFBTSxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQ3ZGLE1BQU0sWUFBWSxHQUF5QixNQUFNLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDekYsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsQ0FBQztRQUN2QyxDQUFDLENBQUEsQ0FBQztRQUVlLG9CQUFlLEdBQUcsQ0FDakMsU0FBa0IsS0FBSyxFQUFFLFlBQXFCLEtBQUssRUFBRSxVQUF3QixFQUFFLEVBQVUsRUFBRTtZQUUzRixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3hHLENBQUMsQ0FBQztRQTlCQSxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUNqQixDQUFDO0NBOEJGIn0=