@betha-plataforma/oauth
Version:
Biblioteca JavaScript para lidar com o fluxo do OAuth 2.0 em aplicações Web, com suporte a TypeScript.
24 lines • 1.9 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.TransactionManager = void 0;
const Crypto_1 = require("../../Helpers/Crypto");
const KEY_LENGTH = 32;
const TRANSACTION_EXPIRATION_TIME_DAYS = 1 / 48; // 30 minutes
class TransactionManager {
constructor(storage) {
this.startTransaction = (data) => {
const transaction = {
data,
nonce: Crypto_1.generateRandomString(KEY_LENGTH),
state: Crypto_1.generateRandomString(KEY_LENGTH),
};
return this.storage.store(transaction.state, transaction, TRANSACTION_EXPIRATION_TIME_DAYS);
};
this.getStoredTransaction = (state) => {
return this.storage.remove(state);
};
this.storage = storage;
}
}
exports.TransactionManager = TransactionManager;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJhbnNhY3Rpb25NYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9Qcm90b2NvbC9UcmFuc2FjdGlvbi9UcmFuc2FjdGlvbk1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaURBQTREO0FBSzVELE1BQU0sVUFBVSxHQUFXLEVBQUUsQ0FBQztBQUM5QixNQUFNLGdDQUFnQyxHQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxhQUFhO0FBRXRFLE1BQWEsa0JBQWtCO0lBRzdCLFlBQVksT0FBb0I7UUFJaEIscUJBQWdCLEdBQUcsQ0FBQyxJQUFPLEVBQWtCLEVBQUU7WUFDN0QsTUFBTSxXQUFXLEdBQW1CO2dCQUNsQyxJQUFJO2dCQUNKLEtBQUssRUFBRSw2QkFBb0IsQ0FBQyxVQUFVLENBQUM7Z0JBQ3ZDLEtBQUssRUFBRSw2QkFBb0IsQ0FBQyxVQUFVLENBQUM7YUFDeEMsQ0FBQztZQUVGLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsZ0NBQWdDLENBQUMsQ0FBQztRQUM5RixDQUFDLENBQUM7UUFFYyx5QkFBb0IsR0FBRyxDQUFDLEtBQWEsRUFBa0IsRUFBRTtZQUN2RSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQztRQWZBLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7Q0FlRjtBQXBCRCxnREFvQkMifQ==