UNPKG

angular-auth-oidc-client

Version:
65 lines 10.4 kB
import { Injectable, inject } from '@angular/core'; import { BrowserStorageService } from './browser-storage.service'; import * as i0 from "@angular/core"; export class StoragePersistenceService { constructor() { this.browserStorageService = inject(BrowserStorageService); } read(key, config) { const storedConfig = this.browserStorageService.read(key, config) || {}; return storedConfig[key]; } write(key, value, config) { const storedConfig = this.browserStorageService.read(key, config) || {}; storedConfig[key] = value; return this.browserStorageService.write(storedConfig, config); } remove(key, config) { const storedConfig = this.browserStorageService.read(key, config) || {}; delete storedConfig[key]; this.browserStorageService.write(storedConfig, config); } clear(config) { this.browserStorageService.clear(config); } resetStorageFlowData(config) { this.remove('session_state', config); this.remove('storageSilentRenewRunning', config); this.remove('storageCodeFlowInProgress', config); this.remove('codeVerifier', config); this.remove('userData', config); this.remove('storageCustomParamsAuthRequest', config); this.remove('access_token_expires_at', config); this.remove('storageCustomParamsRefresh', config); this.remove('storageCustomParamsEndSession', config); this.remove('reusable_refresh_token', config); } resetAuthStateInStorage(config) { this.remove('authzData', config); this.remove('reusable_refresh_token', config); this.remove('authnResult', config); } getAccessToken(config) { return this.read('authzData', config); } getIdToken(config) { return this.read('authnResult', config)?.id_token; } getRefreshToken(config) { const refreshToken = this.read('authnResult', config)?.refresh_token; if (!refreshToken && config.allowUnsafeReuseRefreshToken) { return this.read('reusable_refresh_token', config); } return refreshToken; } getAuthenticationResult(config) { return this.read('authnResult', config); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: StoragePersistenceService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: StoragePersistenceService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: StoragePersistenceService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS1wZXJzaXN0ZW5jZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1hdXRoLW9pZGMtY2xpZW50L3NyYy9saWIvc3RvcmFnZS9zdG9yYWdlLXBlcnNpc3RlbmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBd0JsRSxNQUFNLE9BQU8seUJBQXlCO0lBRHRDO1FBRW1CLDBCQUFxQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0tBb0V4RTtJQWxFQyxJQUFJLENBQUMsR0FBZ0IsRUFBRSxNQUEyQjtRQUNoRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFeEUsT0FBTyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELEtBQUssQ0FBQyxHQUFnQixFQUFFLEtBQVUsRUFBRSxNQUEyQjtRQUM3RCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFeEUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUUxQixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBZ0IsRUFBRSxNQUEyQjtRQUNsRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFeEUsT0FBTyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFekIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUEyQjtRQUMvQixJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxNQUEyQjtRQUM5QyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLDJCQUEyQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxNQUFNLENBQUMsMkJBQTJCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQ0FBZ0MsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLHlCQUF5QixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxNQUFNLENBQUMsNEJBQTRCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLE1BQU0sQ0FBQywrQkFBK0IsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsTUFBTSxDQUFDLHdCQUF3QixFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxNQUEyQjtRQUNqRCxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLHdCQUF3QixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxjQUFjLENBQUMsTUFBMkI7UUFDeEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQTJCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLEVBQUUsUUFBUSxDQUFDO0lBQ3BELENBQUM7SUFFRCxlQUFlLENBQUMsTUFBMkI7UUFDekMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLEVBQUUsYUFBYSxDQUFDO1FBRXJFLElBQUksQ0FBQyxZQUFZLElBQUksTUFBTSxDQUFDLDRCQUE0QixFQUFFLENBQUM7WUFDekQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFFRCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBRUQsdUJBQXVCLENBQUMsTUFBMkI7UUFDakQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMxQyxDQUFDOzhHQXBFVSx5QkFBeUI7a0hBQXpCLHlCQUF5QixjQURaLE1BQU07OzJGQUNuQix5QkFBeUI7a0JBRHJDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoUmVzdWx0IH0gZnJvbSAnLi4vZmxvd3MvY2FsbGJhY2stY29udGV4dCc7XG5pbXBvcnQgeyBPcGVuSWRDb25maWd1cmF0aW9uIH0gZnJvbSAnLi8uLi9jb25maWcvb3BlbmlkLWNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgQnJvd3NlclN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9icm93c2VyLXN0b3JhZ2Uuc2VydmljZSc7XG5cbmV4cG9ydCB0eXBlIFN0b3JhZ2VLZXlzID1cbiAgfCAnYXV0aG5SZXN1bHQnXG4gIHwgJ2F1dGh6RGF0YSdcbiAgfCAnYWNjZXNzX3Rva2VuX2V4cGlyZXNfYXQnXG4gIHwgJ2F1dGhXZWxsS25vd25FbmRQb2ludHMnXG4gIHwgJ3VzZXJEYXRhJ1xuICB8ICdhdXRoTm9uY2UnXG4gIHwgJ2NvZGVWZXJpZmllcidcbiAgfCAnYXV0aFN0YXRlQ29udHJvbCdcbiAgfCAncmV1c2FibGVfcmVmcmVzaF90b2tlbidcbiAgfCAnc2Vzc2lvbl9zdGF0ZSdcbiAgfCAnc3RvcmFnZVNpbGVudFJlbmV3UnVubmluZydcbiAgfCAnc3RvcmFnZUNvZGVGbG93SW5Qcm9ncmVzcydcbiAgfCAnc3RvcmFnZUN1c3RvbVBhcmFtc0F1dGhSZXF1ZXN0J1xuICB8ICdzdG9yYWdlQ3VzdG9tUGFyYW1zUmVmcmVzaCdcbiAgfCAnc3RvcmFnZUN1c3RvbVBhcmFtc0VuZFNlc3Npb24nXG4gIHwgJ3JlZGlyZWN0J1xuICB8ICdjb25maWdJZHMnXG4gIHwgJ2p3dEtleXMnXG4gIHwgJ3BvcHVwYXV0aCc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU3RvcmFnZVBlcnNpc3RlbmNlU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYnJvd3NlclN0b3JhZ2VTZXJ2aWNlID0gaW5qZWN0KEJyb3dzZXJTdG9yYWdlU2VydmljZSk7XG5cbiAgcmVhZChrZXk6IFN0b3JhZ2VLZXlzLCBjb25maWc6IE9wZW5JZENvbmZpZ3VyYXRpb24pOiBhbnkge1xuICAgIGNvbnN0IHN0b3JlZENvbmZpZyA9IHRoaXMuYnJvd3NlclN0b3JhZ2VTZXJ2aWNlLnJlYWQoa2V5LCBjb25maWcpIHx8IHt9O1xuXG4gICAgcmV0dXJuIHN0b3JlZENvbmZpZ1trZXldO1xuICB9XG5cbiAgd3JpdGUoa2V5OiBTdG9yYWdlS2V5cywgdmFsdWU6IGFueSwgY29uZmlnOiBPcGVuSWRDb25maWd1cmF0aW9uKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc3RvcmVkQ29uZmlnID0gdGhpcy5icm93c2VyU3RvcmFnZVNlcnZpY2UucmVhZChrZXksIGNvbmZpZykgfHwge307XG5cbiAgICBzdG9yZWRDb25maWdba2V5XSA9IHZhbHVlO1xuXG4gICAgcmV0dXJuIHRoaXMuYnJvd3NlclN0b3JhZ2VTZXJ2aWNlLndyaXRlKHN0b3JlZENvbmZpZywgY29uZmlnKTtcbiAgfVxuXG4gIHJlbW92ZShrZXk6IFN0b3JhZ2VLZXlzLCBjb25maWc6IE9wZW5JZENvbmZpZ3VyYXRpb24pOiB2b2lkIHtcbiAgICBjb25zdCBzdG9yZWRDb25maWcgPSB0aGlzLmJyb3dzZXJTdG9yYWdlU2VydmljZS5yZWFkKGtleSwgY29uZmlnKSB8fCB7fTtcblxuICAgIGRlbGV0ZSBzdG9yZWRDb25maWdba2V5XTtcblxuICAgIHRoaXMuYnJvd3NlclN0b3JhZ2VTZXJ2aWNlLndyaXRlKHN0b3JlZENvbmZpZywgY29uZmlnKTtcbiAgfVxuXG4gIGNsZWFyKGNvbmZpZzogT3BlbklkQ29uZmlndXJhdGlvbik6IHZvaWQge1xuICAgIHRoaXMuYnJvd3NlclN0b3JhZ2VTZXJ2aWNlLmNsZWFyKGNvbmZpZyk7XG4gIH1cblxuICByZXNldFN0b3JhZ2VGbG93RGF0YShjb25maWc6IE9wZW5JZENvbmZpZ3VyYXRpb24pOiB2b2lkIHtcbiAgICB0aGlzLnJlbW92ZSgnc2Vzc2lvbl9zdGF0ZScsIGNvbmZpZyk7XG4gICAgdGhpcy5yZW1vdmUoJ3N0b3JhZ2VTaWxlbnRSZW5ld1J1bm5pbmcnLCBjb25maWcpO1xuICAgIHRoaXMucmVtb3ZlKCdzdG9yYWdlQ29kZUZsb3dJblByb2dyZXNzJywgY29uZmlnKTtcbiAgICB0aGlzLnJlbW92ZSgnY29kZVZlcmlmaWVyJywgY29uZmlnKTtcbiAgICB0aGlzLnJlbW92ZSgndXNlckRhdGEnLCBjb25maWcpO1xuICAgIHRoaXMucmVtb3ZlKCdzdG9yYWdlQ3VzdG9tUGFyYW1zQXV0aFJlcXVlc3QnLCBjb25maWcpO1xuICAgIHRoaXMucmVtb3ZlKCdhY2Nlc3NfdG9rZW5fZXhwaXJlc19hdCcsIGNvbmZpZyk7XG4gICAgdGhpcy5yZW1vdmUoJ3N0b3JhZ2VDdXN0b21QYXJhbXNSZWZyZXNoJywgY29uZmlnKTtcbiAgICB0aGlzLnJlbW92ZSgnc3RvcmFnZUN1c3RvbVBhcmFtc0VuZFNlc3Npb24nLCBjb25maWcpO1xuICAgIHRoaXMucmVtb3ZlKCdyZXVzYWJsZV9yZWZyZXNoX3Rva2VuJywgY29uZmlnKTtcbiAgfVxuXG4gIHJlc2V0QXV0aFN0YXRlSW5TdG9yYWdlKGNvbmZpZzogT3BlbklkQ29uZmlndXJhdGlvbik6IHZvaWQge1xuICAgIHRoaXMucmVtb3ZlKCdhdXRoekRhdGEnLCBjb25maWcpO1xuICAgIHRoaXMucmVtb3ZlKCdyZXVzYWJsZV9yZWZyZXNoX3Rva2VuJywgY29uZmlnKTtcbiAgICB0aGlzLnJlbW92ZSgnYXV0aG5SZXN1bHQnLCBjb25maWcpO1xuICB9XG5cbiAgZ2V0QWNjZXNzVG9rZW4oY29uZmlnOiBPcGVuSWRDb25maWd1cmF0aW9uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZWFkKCdhdXRoekRhdGEnLCBjb25maWcpO1xuICB9XG5cbiAgZ2V0SWRUb2tlbihjb25maWc6IE9wZW5JZENvbmZpZ3VyYXRpb24pOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnJlYWQoJ2F1dGhuUmVzdWx0JywgY29uZmlnKT8uaWRfdG9rZW47XG4gIH1cblxuICBnZXRSZWZyZXNoVG9rZW4oY29uZmlnOiBPcGVuSWRDb25maWd1cmF0aW9uKTogc3RyaW5nIHtcbiAgICBjb25zdCByZWZyZXNoVG9rZW4gPSB0aGlzLnJlYWQoJ2F1dGhuUmVzdWx0JywgY29uZmlnKT8ucmVmcmVzaF90b2tlbjtcblxuICAgIGlmICghcmVmcmVzaFRva2VuICYmIGNvbmZpZy5hbGxvd1Vuc2FmZVJldXNlUmVmcmVzaFRva2VuKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZWFkKCdyZXVzYWJsZV9yZWZyZXNoX3Rva2VuJywgY29uZmlnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVmcmVzaFRva2VuO1xuICB9XG5cbiAgZ2V0QXV0aGVudGljYXRpb25SZXN1bHQoY29uZmlnOiBPcGVuSWRDb25maWd1cmF0aW9uKTogQXV0aFJlc3VsdCB7XG4gICAgcmV0dXJuIHRoaXMucmVhZCgnYXV0aG5SZXN1bHQnLCBjb25maWcpO1xuICB9XG59XG4iXX0=