From aaaf9291ffa5e679b14bd8c215731442104a95c9 Mon Sep 17 00:00:00 2001 From: JGiter Date: Wed, 17 Nov 2021 11:57:41 +0200 Subject: [PATCH] fix(cacheClient): recalculate identity token on login --- ...heClient_cacheClient_service.CacheClient.md | 15 --------------- ...es_cacheClient_ICacheClient.ICacheClient.md | 11 ----------- src/modules/cacheClient/ICacheClient.ts | 1 - src/modules/cacheClient/cacheClient.service.ts | 18 +++++++++++------- 4 files changed, 11 insertions(+), 34 deletions(-) diff --git a/docs/api/classes/modules_cacheClient_cacheClient_service.CacheClient.md b/docs/api/classes/modules_cacheClient_cacheClient_service.CacheClient.md index 87b3ee27..0af1661b 100644 --- a/docs/api/classes/modules_cacheClient_cacheClient_service.CacheClient.md +++ b/docs/api/classes/modules_cacheClient_cacheClient_service.CacheClient.md @@ -54,7 +54,6 @@ - [login](modules_cacheClient_cacheClient_service.CacheClient.md#login) - [rejectClaim](modules_cacheClient_cacheClient_service.CacheClient.md#rejectclaim) - [requestClaim](modules_cacheClient_cacheClient_service.CacheClient.md#requestclaim) -- [testLogin](modules_cacheClient_cacheClient_service.CacheClient.md#testlogin) ## Constructors @@ -764,17 +763,3 @@ ___ #### Implementation of [ICacheClient](../interfaces/modules_cacheClient_ICacheClient.ICacheClient.md).[requestClaim](../interfaces/modules_cacheClient_ICacheClient.ICacheClient.md#requestclaim) - -___ - -### testLogin - -▸ **testLogin**(): `Promise`<`void`\> - -#### Returns - -`Promise`<`void`\> - -#### Implementation of - -[ICacheClient](../interfaces/modules_cacheClient_ICacheClient.ICacheClient.md).[testLogin](../interfaces/modules_cacheClient_ICacheClient.ICacheClient.md#testlogin) diff --git a/docs/api/interfaces/modules_cacheClient_ICacheClient.ICacheClient.md b/docs/api/interfaces/modules_cacheClient_ICacheClient.ICacheClient.md index 4589a5de..a4cca8a3 100644 --- a/docs/api/interfaces/modules_cacheClient_ICacheClient.ICacheClient.md +++ b/docs/api/interfaces/modules_cacheClient_ICacheClient.ICacheClient.md @@ -45,7 +45,6 @@ - [login](modules_cacheClient_ICacheClient.ICacheClient.md#login) - [rejectClaim](modules_cacheClient_ICacheClient.ICacheClient.md#rejectclaim) - [requestClaim](modules_cacheClient_ICacheClient.ICacheClient.md#requestclaim) -- [testLogin](modules_cacheClient_ICacheClient.ICacheClient.md#testlogin) ## Properties @@ -546,13 +545,3 @@ ___ #### Returns `Promise`<`void`\> - -___ - -### testLogin - -▸ **testLogin**(): `Promise`<`void`\> - -#### Returns - -`Promise`<`void`\> diff --git a/src/modules/cacheClient/ICacheClient.ts b/src/modules/cacheClient/ICacheClient.ts index 3c12e563..864886a2 100644 --- a/src/modules/cacheClient/ICacheClient.ts +++ b/src/modules/cacheClient/ICacheClient.ts @@ -10,7 +10,6 @@ import { SearchType } from "."; export interface ICacheClient { pubKeyAndIdentityToken: IPubKeyAndIdentityToken | undefined; - testLogin: () => Promise; login: () => Promise; isAuthEnabled: () => boolean; diff --git a/src/modules/cacheClient/cacheClient.service.ts b/src/modules/cacheClient/cacheClient.service.ts index 5f41ca5f..41ada13e 100644 --- a/src/modules/cacheClient/cacheClient.service.ts +++ b/src/modules/cacheClient/cacheClient.service.ts @@ -87,14 +87,18 @@ export class CacheClient implements ICacheClient { return Promise.reject(error); } - async testLogin(): Promise { - // Simple test to check if logged in or no. TODO: have dedicated endpoint on the cache-server - // If receive unauthorized response, expect that refreshToken() will be called - await this.getRoleDefinition("testing.if.logged.in"); - } - async login() { - await this.testLogin(); + const pubKeyAndIdentityToken = await this._signerService.publicKeyAndIdentityToken(); + const { + data: { refreshToken, token }, + } = await this.httpClient.post<{ token: string; refreshToken: string }>("/login", { + identityToken: pubKeyAndIdentityToken.identityToken, + }); + this.refresh_token = refreshToken; + if (!this.isBrowser) { + this.httpClient.defaults.headers.common["Authorization"] = `Bearer ${token}`; + this.refresh_token = refreshToken; + } } async getRoleDefinition(namespace: string) {