UNPKG

angular-auth-oidc-client

Version:
77 lines 10.4 kB
import { Injectable, inject } from '@angular/core'; import { LoggerService } from '../logging/logger.service'; import { AbstractSecurityStorage } from './abstract-security-storage'; import * as i0 from "@angular/core"; export class BrowserStorageService { constructor() { this.loggerService = inject(LoggerService); this.abstractSecurityStorage = inject(AbstractSecurityStorage); } read(key, configuration) { const { configId } = configuration; if (!configId) { this.loggerService.logDebug(configuration, `Wanted to read '${key}' but configId was '${configId}'`); return null; } if (!this.hasStorage()) { this.loggerService.logDebug(configuration, `Wanted to read '${key}' but Storage was undefined`); return null; } const storedConfig = this.abstractSecurityStorage.read(configId); if (!storedConfig) { return null; } return JSON.parse(storedConfig); } write(value, configuration) { const { configId } = configuration; if (!configId) { this.loggerService.logDebug(configuration, `Wanted to write but configId was '${configId}'`); return false; } if (!this.hasStorage()) { this.loggerService.logDebug(configuration, `Wanted to write but Storage was falsy`); return false; } value = value || null; this.abstractSecurityStorage.write(configId, JSON.stringify(value)); return true; } remove(key, configuration) { if (!this.hasStorage()) { this.loggerService.logDebug(configuration, `Wanted to remove '${key}' but Storage was falsy`); return false; } // const storage = this.getStorage(configuration); // if (!storage) { // this.loggerService.logDebug(configuration, `Wanted to write '${key}' but Storage was falsy`); // return false; // } this.abstractSecurityStorage.remove(key); return true; } // TODO THIS STORAGE WANTS AN ID BUT CLEARS EVERYTHING clear(configuration) { if (!this.hasStorage()) { this.loggerService.logDebug(configuration, `Wanted to clear storage but Storage was falsy`); return false; } // const storage = this.getStorage(configuration); // if (!storage) { // this.loggerService.logDebug(configuration, `Wanted to clear storage but Storage was falsy`); // return false; // } this.abstractSecurityStorage.clear(); return true; } hasStorage() { return typeof Storage !== 'undefined'; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BrowserStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BrowserStorageService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BrowserStorageService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci1zdG9yYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWF1dGgtb2lkYy1jbGllbnQvc3JjL2xpYi9zdG9yYWdlL2Jyb3dzZXItc3RvcmFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFHdEUsTUFBTSxPQUFPLHFCQUFxQjtJQURsQztRQUVtQixrQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV0Qyw0QkFBdUIsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztLQTRHNUU7SUExR0MsSUFBSSxDQUFDLEdBQVcsRUFBRSxhQUFrQztRQUNsRCxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsYUFBYSxDQUFDO1FBRW5DLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUN6QixhQUFhLEVBQ2IsbUJBQW1CLEdBQUcsdUJBQXVCLFFBQVEsR0FBRyxDQUN6RCxDQUFDO1lBRUYsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUN6QixhQUFhLEVBQ2IsbUJBQW1CLEdBQUcsNkJBQTZCLENBQ3BELENBQUM7WUFFRixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRWpFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNsQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFVLEVBQUUsYUFBa0M7UUFDbEQsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLGFBQWEsQ0FBQztRQUVuQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FDekIsYUFBYSxFQUNiLHFDQUFxQyxRQUFRLEdBQUcsQ0FDakQsQ0FBQztZQUVGLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FDekIsYUFBYSxFQUNiLHVDQUF1QyxDQUN4QyxDQUFDO1lBRUYsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsS0FBSyxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUM7UUFFdEIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRXBFLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFXLEVBQUUsYUFBa0M7UUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUN6QixhQUFhLEVBQ2IscUJBQXFCLEdBQUcseUJBQXlCLENBQ2xELENBQUM7WUFFRixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFFRCxrREFBa0Q7UUFDbEQsa0JBQWtCO1FBQ2xCLGtHQUFrRztRQUVsRyxrQkFBa0I7UUFDbEIsSUFBSTtRQUVKLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFekMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsc0RBQXNEO0lBQ3RELEtBQUssQ0FBQyxhQUFrQztRQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQ3pCLGFBQWEsRUFDYiwrQ0FBK0MsQ0FDaEQsQ0FBQztZQUVGLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELGtEQUFrRDtRQUNsRCxrQkFBa0I7UUFDbEIsaUdBQWlHO1FBRWpHLGtCQUFrQjtRQUNsQixJQUFJO1FBRUosSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssRUFBRSxDQUFDO1FBRXJDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVPLFVBQVU7UUFDaEIsT0FBTyxPQUFPLE9BQU8sS0FBSyxXQUFXLENBQUM7SUFDeEMsQ0FBQzs4R0E5R1UscUJBQXFCO2tIQUFyQixxQkFBcUIsY0FEUixNQUFNOzsyRkFDbkIscUJBQXFCO2tCQURqQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3BlbklkQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL2NvbmZpZy9vcGVuaWQtY29uZmlndXJhdGlvbic7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nZ2luZy9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBYnN0cmFjdFNlY3VyaXR5U3RvcmFnZSB9IGZyb20gJy4vYWJzdHJhY3Qtc2VjdXJpdHktc3RvcmFnZSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQnJvd3NlclN0b3JhZ2VTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXJTZXJ2aWNlID0gaW5qZWN0KExvZ2dlclNlcnZpY2UpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgYWJzdHJhY3RTZWN1cml0eVN0b3JhZ2UgPSBpbmplY3QoQWJzdHJhY3RTZWN1cml0eVN0b3JhZ2UpO1xuXG4gIHJlYWQoa2V5OiBzdHJpbmcsIGNvbmZpZ3VyYXRpb246IE9wZW5JZENvbmZpZ3VyYXRpb24pOiBhbnkge1xuICAgIGNvbnN0IHsgY29uZmlnSWQgfSA9IGNvbmZpZ3VyYXRpb247XG5cbiAgICBpZiAoIWNvbmZpZ0lkKSB7XG4gICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nRGVidWcoXG4gICAgICAgIGNvbmZpZ3VyYXRpb24sXG4gICAgICAgIGBXYW50ZWQgdG8gcmVhZCAnJHtrZXl9JyBidXQgY29uZmlnSWQgd2FzICcke2NvbmZpZ0lkfSdgXG4gICAgICApO1xuXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuaGFzU3RvcmFnZSgpKSB7XG4gICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nRGVidWcoXG4gICAgICAgIGNvbmZpZ3VyYXRpb24sXG4gICAgICAgIGBXYW50ZWQgdG8gcmVhZCAnJHtrZXl9JyBidXQgU3RvcmFnZSB3YXMgdW5kZWZpbmVkYFxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RvcmVkQ29uZmlnID0gdGhpcy5hYnN0cmFjdFNlY3VyaXR5U3RvcmFnZS5yZWFkKGNvbmZpZ0lkKTtcblxuICAgIGlmICghc3RvcmVkQ29uZmlnKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gSlNPTi5wYXJzZShzdG9yZWRDb25maWcpO1xuICB9XG5cbiAgd3JpdGUodmFsdWU6IGFueSwgY29uZmlndXJhdGlvbjogT3BlbklkQ29uZmlndXJhdGlvbik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHsgY29uZmlnSWQgfSA9IGNvbmZpZ3VyYXRpb247XG5cbiAgICBpZiAoIWNvbmZpZ0lkKSB7XG4gICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nRGVidWcoXG4gICAgICAgIGNvbmZpZ3VyYXRpb24sXG4gICAgICAgIGBXYW50ZWQgdG8gd3JpdGUgYnV0IGNvbmZpZ0lkIHdhcyAnJHtjb25maWdJZH0nYFxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5oYXNTdG9yYWdlKCkpIHtcbiAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dEZWJ1ZyhcbiAgICAgICAgY29uZmlndXJhdGlvbixcbiAgICAgICAgYFdhbnRlZCB0byB3cml0ZSBidXQgU3RvcmFnZSB3YXMgZmFsc3lgXG4gICAgICApO1xuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgdmFsdWUgPSB2YWx1ZSB8fCBudWxsO1xuXG4gICAgdGhpcy5hYnN0cmFjdFNlY3VyaXR5U3RvcmFnZS53cml0ZShjb25maWdJZCwgSlNPTi5zdHJpbmdpZnkodmFsdWUpKTtcblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmVtb3ZlKGtleTogc3RyaW5nLCBjb25maWd1cmF0aW9uOiBPcGVuSWRDb25maWd1cmF0aW9uKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLmhhc1N0b3JhZ2UoKSkge1xuICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ0RlYnVnKFxuICAgICAgICBjb25maWd1cmF0aW9uLFxuICAgICAgICBgV2FudGVkIHRvIHJlbW92ZSAnJHtrZXl9JyBidXQgU3RvcmFnZSB3YXMgZmFsc3lgXG4gICAgICApO1xuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gY29uc3Qgc3RvcmFnZSA9IHRoaXMuZ2V0U3RvcmFnZShjb25maWd1cmF0aW9uKTtcbiAgICAvLyBpZiAoIXN0b3JhZ2UpIHtcbiAgICAvLyAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dEZWJ1Zyhjb25maWd1cmF0aW9uLCBgV2FudGVkIHRvIHdyaXRlICcke2tleX0nIGJ1dCBTdG9yYWdlIHdhcyBmYWxzeWApO1xuXG4gICAgLy8gICByZXR1cm4gZmFsc2U7XG4gICAgLy8gfVxuXG4gICAgdGhpcy5hYnN0cmFjdFNlY3VyaXR5U3RvcmFnZS5yZW1vdmUoa2V5KTtcblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gVE9ETyBUSElTIFNUT1JBR0UgV0FOVFMgQU4gSUQgQlVUIENMRUFSUyBFVkVSWVRISU5HXG4gIGNsZWFyKGNvbmZpZ3VyYXRpb246IE9wZW5JZENvbmZpZ3VyYXRpb24pOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuaGFzU3RvcmFnZSgpKSB7XG4gICAgICB0aGlzLmxvZ2dlclNlcnZpY2UubG9nRGVidWcoXG4gICAgICAgIGNvbmZpZ3VyYXRpb24sXG4gICAgICAgIGBXYW50ZWQgdG8gY2xlYXIgc3RvcmFnZSBidXQgU3RvcmFnZSB3YXMgZmFsc3lgXG4gICAgICApO1xuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gY29uc3Qgc3RvcmFnZSA9IHRoaXMuZ2V0U3RvcmFnZShjb25maWd1cmF0aW9uKTtcbiAgICAvLyBpZiAoIXN0b3JhZ2UpIHtcbiAgICAvLyAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dEZWJ1Zyhjb25maWd1cmF0aW9uLCBgV2FudGVkIHRvIGNsZWFyIHN0b3JhZ2UgYnV0IFN0b3JhZ2Ugd2FzIGZhbHN5YCk7XG5cbiAgICAvLyAgIHJldHVybiBmYWxzZTtcbiAgICAvLyB9XG5cbiAgICB0aGlzLmFic3RyYWN0U2VjdXJpdHlTdG9yYWdlLmNsZWFyKCk7XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgaGFzU3RvcmFnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHlwZW9mIFN0b3JhZ2UgIT09ICd1bmRlZmluZWQnO1xuICB9XG59XG4iXX0=