Browse Source

memory token storage service created

pull/24050/head
erdemcaygor 1 year ago
parent
commit
13fd817302
  1. 1
      npm/ng-packs/packages/oauth/src/lib/services/index.ts
  2. 40
      npm/ng-packs/packages/oauth/src/lib/services/memory-token-storage.service.ts
  3. 4
      npm/ng-packs/packages/oauth/src/lib/utils/storage.factory.ts

1
npm/ng-packs/packages/oauth/src/lib/services/index.ts

@ -3,3 +3,4 @@ export * from './oauth-error-filter.service';
export * from './remember-me.service';
export * from './browser-token-storage.service';
export * from './server-token-storage.service';
export * from './memory-token-storage.service';

40
npm/ng-packs/packages/oauth/src/lib/services/memory-token-storage.service.ts

@ -0,0 +1,40 @@
import { Injectable } from '@angular/core';
import { OAuthStorage } from 'angular-oauth2-oidc';
@Injectable({
providedIn: 'root',
})
export class MemoryTokenStorageService implements OAuthStorage {
private keysShouldStoreLocalstorage = ['PKCE_verifier', 'abpOAuthClientId', 'abp_session', 'refresh_token', 'granted_scopes', 'id_token_claims_obj'];
private data = new Map<string, string>();
getItem(key: string): string {
console.log('getItem -->>', key);
if (key !== 'access_token') {
return localStorage.getItem(key);
}
return this.data.get(key) || null;
}
removeItem(key: string): void {
if (key !== 'access_token') {
localStorage.removeItem(key);
return;
}
this.data.delete(key);
}
setItem(key: string, data: string): void {
if (key !== 'access_token') {
console.log('setItem -->', key, data);
localStorage.setItem(key, data);
return;
}
console.log('setItem -->', key, data);
this.data.set(key, data);
}
clear() {
this.data.clear();
}
}

4
npm/ng-packs/packages/oauth/src/lib/utils/storage.factory.ts

@ -1,7 +1,7 @@
import { inject, PLATFORM_ID } from '@angular/core';
import { isPlatformBrowser } from '@angular/common';
import { ServerTokenStorageService } from '../services/server-token-storage.service';
import { BrowserTokenStorageService } from '../services';
import { BrowserTokenStorageService, MemoryTokenStorageService } from '../services';
import { OAuthStorage } from 'angular-oauth2-oidc';
import { AbpLocalStorageService, APP_STARTED_WITH_SSR } from '@abp/ng.core';
@ -35,5 +35,5 @@ export function oAuthStorageFactory(): OAuthStorage {
? inject(BrowserTokenStorageService)
: inject(ServerTokenStorageService);
}
return inject(AbpLocalStorageService);
return inject(MemoryTokenStorageService);
}

Loading…
Cancel
Save