angular-auth-oidc-client
Version:
Angular Lib for OpenID Connect & OAuth2
64 lines • 10.5 kB
JavaScript
import { Injectable } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "./browser-storage.service";
export class StoragePersistenceService {
constructor(browserStorageService) {
this.browserStorageService = 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) {
let 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);
}
}
StoragePersistenceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: StoragePersistenceService, deps: [{ token: i1.BrowserStorageService }], target: i0.ɵɵFactoryTarget.Injectable });
StoragePersistenceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: StoragePersistenceService });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: StoragePersistenceService, decorators: [{
type: Injectable
}], ctorParameters: function () { return [{ type: i1.BrowserStorageService }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS1wZXJzaXN0ZW5jZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1hdXRoLW9pZGMtY2xpZW50L3NyYy9saWIvc3RvcmFnZS9zdG9yYWdlLXBlcnNpc3RlbmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBeUIzQyxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLFlBQTZCLHFCQUE0QztRQUE1QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO0lBQUcsQ0FBQztJQUU3RSxJQUFJLENBQUMsR0FBZ0IsRUFBRSxNQUEyQjtRQUNoRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFeEUsT0FBTyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELEtBQUssQ0FBQyxHQUFnQixFQUFFLEtBQVUsRUFBRSxNQUEyQjtRQUM3RCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFeEUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUUxQixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBZ0IsRUFBRSxNQUEyQjtRQUNsRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFeEUsT0FBTyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFekIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUEyQjtRQUMvQixJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxNQUEyQjtRQUM5QyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLDJCQUEyQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxNQUFNLENBQUMsMkJBQTJCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQ0FBZ0MsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLHlCQUF5QixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxNQUFNLENBQUMsNEJBQTRCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLE1BQU0sQ0FBQywrQkFBK0IsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsTUFBTSxDQUFDLHdCQUF3QixFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxNQUEyQjtRQUNqRCxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLHdCQUF3QixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxjQUFjLENBQUMsTUFBMkI7UUFDeEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQTJCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLEVBQUUsUUFBUSxDQUFDO0lBQ3BELENBQUM7SUFFRCxlQUFlLENBQUMsTUFBMkI7UUFDekMsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLEVBQUUsYUFBYSxDQUFDO1FBRW5FLElBQUksQ0FBQyxZQUFZLElBQUksTUFBTSxDQUFDLDRCQUE0QixFQUFFO1lBQ3hELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUNwRDtRQUVELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxNQUEyQjtRQUNqRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzFDLENBQUM7O3NIQXBFVSx5QkFBeUI7MEhBQXpCLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPcGVuSWRDb25maWd1cmF0aW9uIH0gZnJvbSAnLi8uLi9jb25maWcvb3BlbmlkLWNvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBCcm93c2VyU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL2Jyb3dzZXItc3RvcmFnZS5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCB0eXBlIFN0b3JhZ2VLZXlzID1cclxuICB8ICdhdXRoblJlc3VsdCdcclxuICB8ICdhdXRoekRhdGEnXHJcbiAgfCAnYWNjZXNzX3Rva2VuX2V4cGlyZXNfYXQnXHJcbiAgfCAnYXV0aFdlbGxLbm93bkVuZFBvaW50cydcclxuICB8ICd1c2VyRGF0YSdcclxuICB8ICdhdXRoTm9uY2UnXHJcbiAgfCAnY29kZVZlcmlmaWVyJ1xyXG4gIHwgJ2F1dGhTdGF0ZUNvbnRyb2wnXHJcbiAgfCAncmV1c2FibGVfcmVmcmVzaF90b2tlbidcclxuICB8ICdzZXNzaW9uX3N0YXRlJ1xyXG4gIHwgJ3N0b3JhZ2VTaWxlbnRSZW5ld1J1bm5pbmcnXHJcbiAgfCAnc3RvcmFnZUNvZGVGbG93SW5Qcm9ncmVzcydcclxuICB8ICdzdG9yYWdlQ3VzdG9tUGFyYW1zQXV0aFJlcXVlc3QnXHJcbiAgfCAnc3RvcmFnZUN1c3RvbVBhcmFtc1JlZnJlc2gnXHJcbiAgfCAnc3RvcmFnZUN1c3RvbVBhcmFtc0VuZFNlc3Npb24nXHJcbiAgfCAncmVkaXJlY3QnXHJcbiAgfCAnY29uZmlnSWRzJ1xyXG4gIHwgJ2p3dEtleXMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU3RvcmFnZVBlcnNpc3RlbmNlU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBicm93c2VyU3RvcmFnZVNlcnZpY2U6IEJyb3dzZXJTdG9yYWdlU2VydmljZSkge31cclxuXHJcbiAgcmVhZChrZXk6IFN0b3JhZ2VLZXlzLCBjb25maWc6IE9wZW5JZENvbmZpZ3VyYXRpb24pOiBhbnkge1xyXG4gICAgY29uc3Qgc3RvcmVkQ29uZmlnID0gdGhpcy5icm93c2VyU3RvcmFnZVNlcnZpY2UucmVhZChrZXksIGNvbmZpZykgfHwge307XHJcblxyXG4gICAgcmV0dXJuIHN0b3JlZENvbmZpZ1trZXldO1xyXG4gIH1cclxuXHJcbiAgd3JpdGUoa2V5OiBTdG9yYWdlS2V5cywgdmFsdWU6IGFueSwgY29uZmlnOiBPcGVuSWRDb25maWd1cmF0aW9uKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBzdG9yZWRDb25maWcgPSB0aGlzLmJyb3dzZXJTdG9yYWdlU2VydmljZS5yZWFkKGtleSwgY29uZmlnKSB8fCB7fTtcclxuXHJcbiAgICBzdG9yZWRDb25maWdba2V5XSA9IHZhbHVlO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmJyb3dzZXJTdG9yYWdlU2VydmljZS53cml0ZShzdG9yZWRDb25maWcsIGNvbmZpZyk7XHJcbiAgfVxyXG5cclxuICByZW1vdmUoa2V5OiBTdG9yYWdlS2V5cywgY29uZmlnOiBPcGVuSWRDb25maWd1cmF0aW9uKTogdm9pZCB7XHJcbiAgICBjb25zdCBzdG9yZWRDb25maWcgPSB0aGlzLmJyb3dzZXJTdG9yYWdlU2VydmljZS5yZWFkKGtleSwgY29uZmlnKSB8fCB7fTtcclxuXHJcbiAgICBkZWxldGUgc3RvcmVkQ29uZmlnW2tleV07XHJcblxyXG4gICAgdGhpcy5icm93c2VyU3RvcmFnZVNlcnZpY2Uud3JpdGUoc3RvcmVkQ29uZmlnLCBjb25maWcpO1xyXG4gIH1cclxuXHJcbiAgY2xlYXIoY29uZmlnOiBPcGVuSWRDb25maWd1cmF0aW9uKTogdm9pZCB7XHJcbiAgICB0aGlzLmJyb3dzZXJTdG9yYWdlU2VydmljZS5jbGVhcihjb25maWcpO1xyXG4gIH1cclxuXHJcbiAgcmVzZXRTdG9yYWdlRmxvd0RhdGEoY29uZmlnOiBPcGVuSWRDb25maWd1cmF0aW9uKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlbW92ZSgnc2Vzc2lvbl9zdGF0ZScsIGNvbmZpZyk7XHJcbiAgICB0aGlzLnJlbW92ZSgnc3RvcmFnZVNpbGVudFJlbmV3UnVubmluZycsIGNvbmZpZyk7XHJcbiAgICB0aGlzLnJlbW92ZSgnc3RvcmFnZUNvZGVGbG93SW5Qcm9ncmVzcycsIGNvbmZpZyk7XHJcbiAgICB0aGlzLnJlbW92ZSgnY29kZVZlcmlmaWVyJywgY29uZmlnKTtcclxuICAgIHRoaXMucmVtb3ZlKCd1c2VyRGF0YScsIGNvbmZpZyk7XHJcbiAgICB0aGlzLnJlbW92ZSgnc3RvcmFnZUN1c3RvbVBhcmFtc0F1dGhSZXF1ZXN0JywgY29uZmlnKTtcclxuICAgIHRoaXMucmVtb3ZlKCdhY2Nlc3NfdG9rZW5fZXhwaXJlc19hdCcsIGNvbmZpZyk7XHJcbiAgICB0aGlzLnJlbW92ZSgnc3RvcmFnZUN1c3RvbVBhcmFtc1JlZnJlc2gnLCBjb25maWcpO1xyXG4gICAgdGhpcy5yZW1vdmUoJ3N0b3JhZ2VDdXN0b21QYXJhbXNFbmRTZXNzaW9uJywgY29uZmlnKTtcclxuICAgIHRoaXMucmVtb3ZlKCdyZXVzYWJsZV9yZWZyZXNoX3Rva2VuJywgY29uZmlnKTtcclxuICB9XHJcblxyXG4gIHJlc2V0QXV0aFN0YXRlSW5TdG9yYWdlKGNvbmZpZzogT3BlbklkQ29uZmlndXJhdGlvbik6IHZvaWQge1xyXG4gICAgdGhpcy5yZW1vdmUoJ2F1dGh6RGF0YScsIGNvbmZpZyk7XHJcbiAgICB0aGlzLnJlbW92ZSgncmV1c2FibGVfcmVmcmVzaF90b2tlbicsIGNvbmZpZyk7XHJcbiAgICB0aGlzLnJlbW92ZSgnYXV0aG5SZXN1bHQnLCBjb25maWcpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWNjZXNzVG9rZW4oY29uZmlnOiBPcGVuSWRDb25maWd1cmF0aW9uKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnJlYWQoJ2F1dGh6RGF0YScsIGNvbmZpZyk7XHJcbiAgfVxyXG5cclxuICBnZXRJZFRva2VuKGNvbmZpZzogT3BlbklkQ29uZmlndXJhdGlvbik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5yZWFkKCdhdXRoblJlc3VsdCcsIGNvbmZpZyk/LmlkX3Rva2VuO1xyXG4gIH1cclxuXHJcbiAgZ2V0UmVmcmVzaFRva2VuKGNvbmZpZzogT3BlbklkQ29uZmlndXJhdGlvbik6IHN0cmluZyB7XHJcbiAgICBsZXQgcmVmcmVzaFRva2VuID0gdGhpcy5yZWFkKCdhdXRoblJlc3VsdCcsIGNvbmZpZyk/LnJlZnJlc2hfdG9rZW47XHJcblxyXG4gICAgaWYgKCFyZWZyZXNoVG9rZW4gJiYgY29uZmlnLmFsbG93VW5zYWZlUmV1c2VSZWZyZXNoVG9rZW4pIHtcclxuICAgICAgcmV0dXJuIHRoaXMucmVhZCgncmV1c2FibGVfcmVmcmVzaF90b2tlbicsIGNvbmZpZyk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJlZnJlc2hUb2tlbjtcclxuICB9XHJcblxyXG4gIGdldEF1dGhlbnRpY2F0aW9uUmVzdWx0KGNvbmZpZzogT3BlbklkQ29uZmlndXJhdGlvbik6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5yZWFkKCdhdXRoblJlc3VsdCcsIGNvbmZpZyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==