@betha-plataforma/oauth
Version:
Biblioteca JavaScript para lidar com o fluxo do OAuth 2.0 em aplicações Web, com suporte a TypeScript.
29 lines • 2.57 kB
JavaScript
import Cookies from 'js-cookie';
const NAMESPACE = 'br.com.betha.oauth';
const DEFAULT_EXPIRATION_TIME = 1 / 48; // 30 minutes
// TODO: use secure cookies
export class CookiePersistence {
constructor(config) {
this.remove = (key) => {
const value = this.retrieve(key);
const storageKey = this.storageKeyFor(key);
Cookies.remove(storageKey);
return value;
};
this.retrieve = (key) => {
const storageKey = this.storageKeyFor(key);
const transaction = Cookies.getJSON(storageKey);
return transaction;
};
this.store = (key, value, expires = DEFAULT_EXPIRATION_TIME) => {
const storageKey = this.storageKeyFor(key);
Cookies.set(storageKey, value, { expires });
return value;
};
this.storageKeyFor = (key) => {
return `${NAMESPACE}.${this.config.clientId}.${key}`;
};
this.config = config;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29va2llUGVyc2lzdGVuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL1BlcnNpc3RlbmNlL0Nvb2tpZVBlcnNpc3RlbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sT0FBTyxNQUFNLFdBQVcsQ0FBQztBQU1oQyxNQUFNLFNBQVMsR0FBVyxvQkFBb0IsQ0FBQztBQUMvQyxNQUFNLHVCQUF1QixHQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxhQUFhO0FBRTdELDJCQUEyQjtBQUMzQixNQUFNLE9BQU8saUJBQWlCO0lBRzVCLFlBQVksTUFBbUI7UUFJZixXQUFNLEdBQUcsQ0FBbUIsR0FBVyxFQUFLLEVBQUU7WUFDNUQsTUFBTSxLQUFLLEdBQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzNDLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDM0IsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUM7UUFFYyxhQUFRLEdBQUcsQ0FBbUIsR0FBVyxFQUFLLEVBQUU7WUFDOUQsTUFBTSxVQUFVLEdBQVcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuRCxNQUFNLFdBQVcsR0FBTSxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ25ELE9BQU8sV0FBVyxDQUFDO1FBQ3JCLENBQUMsQ0FBQztRQUVjLFVBQUssR0FBRyxDQUFtQixHQUFXLEVBQUUsS0FBUSxFQUFFLE9BQU8sR0FBRyx1QkFBdUIsRUFBSyxFQUFFO1lBQ3hHLE1BQU0sVUFBVSxHQUFXLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUM1QyxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQztRQUVlLGtCQUFhLEdBQUcsQ0FBQyxHQUFXLEVBQVUsRUFBRTtZQUN2RCxPQUFPLEdBQUcsU0FBUyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3ZELENBQUMsQ0FBQztRQXhCQSxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0NBd0JGIn0=