@betha-plataforma/oauth
Version:
Biblioteca JavaScript para lidar com o fluxo do OAuth 2.0 em aplicações Web, com suporte a TypeScript.
20 lines • 1.76 kB
JavaScript
import { generateRandomString } from '../../Helpers/Crypto';
const KEY_LENGTH = 32;
const TRANSACTION_EXPIRATION_TIME_DAYS = 1 / 48; // 30 minutes
export class TransactionManager {
constructor(storage) {
this.startTransaction = (data) => {
const transaction = {
data,
nonce: generateRandomString(KEY_LENGTH),
state: 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;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJhbnNhY3Rpb25NYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9Qcm90b2NvbC9UcmFuc2FjdGlvbi9UcmFuc2FjdGlvbk1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFLNUQsTUFBTSxVQUFVLEdBQVcsRUFBRSxDQUFDO0FBQzlCLE1BQU0sZ0NBQWdDLEdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLGFBQWE7QUFFdEUsTUFBTSxPQUFPLGtCQUFrQjtJQUc3QixZQUFZLE9BQW9CO1FBSWhCLHFCQUFnQixHQUFHLENBQUMsSUFBTyxFQUFrQixFQUFFO1lBQzdELE1BQU0sV0FBVyxHQUFtQjtnQkFDbEMsSUFBSTtnQkFDSixLQUFLLEVBQUUsb0JBQW9CLENBQUMsVUFBVSxDQUFDO2dCQUN2QyxLQUFLLEVBQUUsb0JBQW9CLENBQUMsVUFBVSxDQUFDO2FBQ3hDLENBQUM7WUFFRixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLGdDQUFnQyxDQUFDLENBQUM7UUFDOUYsQ0FBQyxDQUFDO1FBRWMseUJBQW9CLEdBQUcsQ0FBQyxLQUFhLEVBQWtCLEVBQUU7WUFDdkUsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUM7UUFmQSxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0NBZUYifQ==