UNPKG

@betha-plataforma/oauth

Version:

Biblioteca JavaScript para lidar com o fluxo do OAuth 2.0 em aplicações Web, com suporte a TypeScript.

35 lines 3.01 kB
"use strict"; 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()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateCodeChallengePair = void 0; const Crypto_1 = require("../Helpers/Crypto"); const convertHexPairsToBytes = (hexPairs) => { return String.fromCharCode(...hexPairs.match(/.{1,2}/g).map(byte => parseInt(byte, 16))); }; const urlEncode = (str) => { return btoa(convertHexPairsToBytes(str)) .replace(/=/g, '') .replace(/\+/g, '-') .replace(/\//g, '_'); }; const generateChallenge = (verifier) => __awaiter(void 0, void 0, void 0, function* () { const hash = yield Crypto_1.sha256(verifier); return urlEncode(hash); }); const generateVerifier = () => { return Crypto_1.generateRandomString(32); }; exports.generateCodeChallengePair = () => __awaiter(void 0, void 0, void 0, function* () { const verifier = generateVerifier(); const challenge = yield generateChallenge(verifier); return { challenge, verifier }; }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUEtDRS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvUHJvdG9jb2wvUEtDRS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxpREFBb0U7QUFPcEUsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLFFBQWdCLEVBQUUsRUFBRTtJQUNsRCxPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNGLENBQUMsQ0FBQztBQUVGLE1BQU0sU0FBUyxHQUFHLENBQUMsR0FBVyxFQUFVLEVBQUU7SUFDeEMsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDckMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7U0FDakIsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUM7U0FDbkIsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztBQUN6QixDQUFDLENBQUM7QUFFRixNQUFNLGlCQUFpQixHQUFHLENBQU8sUUFBZ0IsRUFBbUIsRUFBRTtJQUNwRSxNQUFNLElBQUksR0FBVyxNQUFNLGVBQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1QyxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN6QixDQUFDLENBQUEsQ0FBQztBQUVGLE1BQU0sZ0JBQWdCLEdBQUcsR0FBVyxFQUFFO0lBQ3BDLE9BQU8sNkJBQW9CLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDbEMsQ0FBQyxDQUFDO0FBRVcsUUFBQSx5QkFBeUIsR0FBRyxHQUFxQyxFQUFFO0lBQzlFLE1BQU0sUUFBUSxHQUFXLGdCQUFnQixFQUFFLENBQUM7SUFDNUMsTUFBTSxTQUFTLEdBQVcsTUFBTSxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxDQUFDO0FBQ2pDLENBQUMsQ0FBQSxDQUFDIn0=