From 3af3fa4eb53b73031399e186c79f6056efcaa4d9 Mon Sep 17 00:00:00 2001 From: Michael van Tellingen Date: Tue, 19 Nov 2024 20:34:33 +0100 Subject: [PATCH 1/3] fix: throw exception on server error when refreshing token --- .changeset/moody-geckos-talk.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/moody-geckos-talk.md diff --git a/.changeset/moody-geckos-talk.md b/.changeset/moody-geckos-talk.md new file mode 100644 index 0000000..7fe1037 --- /dev/null +++ b/.changeset/moody-geckos-talk.md @@ -0,0 +1,5 @@ +--- +"@labdigital/federated-token-react": patch +--- + +throw exception on server error when refreshing token From ce37be3afd3bba2427596e490a57b358522ab773 Mon Sep 17 00:00:00 2001 From: Michael van Tellingen Date: Fri, 29 Nov 2024 16:12:32 +0100 Subject: [PATCH 2/3] fix(core): only serialize tokens when not empty --- .changeset/proud-spies-smoke.md | 5 +++++ packages/core/src/token.ts | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 .changeset/proud-spies-smoke.md diff --git a/.changeset/proud-spies-smoke.md b/.changeset/proud-spies-smoke.md new file mode 100644 index 0000000..9f65864 --- /dev/null +++ b/.changeset/proud-spies-smoke.md @@ -0,0 +1,5 @@ +--- +"@labdigital/federated-token": patch +--- + +Only serialize tokens when not empty diff --git a/packages/core/src/token.ts b/packages/core/src/token.ts index fc89d81..f5657bb 100644 --- a/packages/core/src/token.ts +++ b/packages/core/src/token.ts @@ -132,7 +132,7 @@ export class FederatedToken { token.destroyToken = true; } - if (!token) { + if (Object.keys(token).length < 1) { return; } return Buffer.from(JSON.stringify(token)).toString("base64"); @@ -194,7 +194,7 @@ export class FederatedToken { } dumpRefreshToken(): string | undefined { - if (!this.refreshTokens) { + if (!this.refreshTokens || Object.keys(this.refreshTokens).length < 1) { return; } return Buffer.from(JSON.stringify(this.refreshTokens)).toString("base64"); From 786f125f7ac1f1d6dfce65d1df2cc9211323dec4 Mon Sep 17 00:00:00 2001 From: Michael van Tellingen Date: Fri, 29 Nov 2024 16:13:08 +0100 Subject: [PATCH 3/3] feat(apollo): minor optimalization when setting tokens --- .changeset/four-horses-sit.md | 5 +++++ packages/apollo/src/gateway.ts | 8 +++++--- 2 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 .changeset/four-horses-sit.md diff --git a/.changeset/four-horses-sit.md b/.changeset/four-horses-sit.md new file mode 100644 index 0000000..ae8847f --- /dev/null +++ b/.changeset/four-horses-sit.md @@ -0,0 +1,5 @@ +--- +"@labdigital/federated-token-apollo": patch +--- + +minor optimalization when setting tokens diff --git a/packages/apollo/src/gateway.ts b/packages/apollo/src/gateway.ts index 5c96f20..d0e2a14 100644 --- a/packages/apollo/src/gateway.ts +++ b/packages/apollo/src/gateway.ts @@ -106,6 +106,8 @@ export class GatewayAuthPlugin const token = contextValue?.federatedToken; const { req: request, res: response } = contextValue; + const isAuthenticated = token?.isAuthenticated() ?? false; + if (token?.shouldDestroyToken()) { this.tokenSource.deleteAccessToken(request, response); this.tokenSource.deleteRefreshToken(request, response); @@ -122,7 +124,7 @@ export class GatewayAuthPlugin request, response, accessToken, - token.isAuthenticated(), + isAuthenticated, ); } } @@ -134,7 +136,7 @@ export class GatewayAuthPlugin request, response, dataToken, - token.isAuthenticated(), + isAuthenticated, ); } } @@ -145,7 +147,7 @@ export class GatewayAuthPlugin request, response, refreshToken, - token.isAuthenticated(), + isAuthenticated, ); } }