import {OAuthStorage} from 'angular-oauth2-oidc'; import {Inject, Injectable} from '@angular/core'; @Injectable() export class SecureOAuthStorage extends OAuthStorage { private storage = {}; secureKey(key:string): boolean { if(key == "nonce") return false; if(key == "PKCI_verifier") return false; return true; } getItem(key: string): string { if(this.secureKey(key)) { return this.storage[key]; } else { return window.sessionStorage.getItem(key); } } removeItem(key: string): void { if(this.secureKey(key)) { delete this.storage[key]; } else { window.sessionStorage.removeItem(key); } } setItem(key: string, data: string): void { if(this.secureKey(key)) { this.storage[key]=data; } else { window.sessionStorage.setItem(key,data); } } }