@betha-plataforma/oauth
Version:
Biblioteca JavaScript para lidar com o fluxo do OAuth 2.0 em aplicações Web, com suporte a TypeScript.
36 lines • 2.92 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.CookiePersistence = void 0;
const js_cookie_1 = __importDefault(require("js-cookie"));
const NAMESPACE = 'br.com.betha.oauth';
const DEFAULT_EXPIRATION_TIME = 1 / 48; // 30 minutes
// TODO: use secure cookies
class CookiePersistence {
constructor(config) {
this.remove = (key) => {
const value = this.retrieve(key);
const storageKey = this.storageKeyFor(key);
js_cookie_1.default.remove(storageKey);
return value;
};
this.retrieve = (key) => {
const storageKey = this.storageKeyFor(key);
const transaction = js_cookie_1.default.getJSON(storageKey);
return transaction;
};
this.store = (key, value, expires = DEFAULT_EXPIRATION_TIME) => {
const storageKey = this.storageKeyFor(key);
js_cookie_1.default.set(storageKey, value, { expires });
return value;
};
this.storageKeyFor = (key) => {
return `${NAMESPACE}.${this.config.clientId}.${key}`;
};
this.config = config;
}
}
exports.CookiePersistence = CookiePersistence;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29va2llUGVyc2lzdGVuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL1BlcnNpc3RlbmNlL0Nvb2tpZVBlcnNpc3RlbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDBEQUFnQztBQU1oQyxNQUFNLFNBQVMsR0FBVyxvQkFBb0IsQ0FBQztBQUMvQyxNQUFNLHVCQUF1QixHQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxhQUFhO0FBRTdELDJCQUEyQjtBQUMzQixNQUFhLGlCQUFpQjtJQUc1QixZQUFZLE1BQW1CO1FBSWYsV0FBTSxHQUFHLENBQW1CLEdBQVcsRUFBSyxFQUFFO1lBQzVELE1BQU0sS0FBSyxHQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMzQyxtQkFBTyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMzQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQztRQUVjLGFBQVEsR0FBRyxDQUFtQixHQUFXLEVBQUssRUFBRTtZQUM5RCxNQUFNLFVBQVUsR0FBVyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25ELE1BQU0sV0FBVyxHQUFNLG1CQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ25ELE9BQU8sV0FBVyxDQUFDO1FBQ3JCLENBQUMsQ0FBQztRQUVjLFVBQUssR0FBRyxDQUFtQixHQUFXLEVBQUUsS0FBUSxFQUFFLE9BQU8sR0FBRyx1QkFBdUIsRUFBSyxFQUFFO1lBQ3hHLE1BQU0sVUFBVSxHQUFXLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkQsbUJBQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDNUMsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUM7UUFFZSxrQkFBYSxHQUFHLENBQUMsR0FBVyxFQUFVLEVBQUU7WUFDdkQsT0FBTyxHQUFHLFNBQVMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN2RCxDQUFDLENBQUM7UUF4QkEsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztDQXdCRjtBQTdCRCw4Q0E2QkMifQ==