From 1c23c8547c2310527777994fc3f48e65f7f49887 Mon Sep 17 00:00:00 2001 From: Fahri Gedik Date: Thu, 16 Oct 2025 13:05:56 +0300 Subject: [PATCH] Fix base64 padding in JWT token parsing Ensures the JWT token body is properly padded before decoding by adding '=' characters as needed. This prevents errors when decoding tokens with missing base64 padding. --- .../packages/oauth/src/lib/services/remember-me.service.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/npm/ng-packs/packages/oauth/src/lib/services/remember-me.service.ts b/npm/ng-packs/packages/oauth/src/lib/services/remember-me.service.ts index 25fd50198b..b028bd9632 100644 --- a/npm/ng-packs/packages/oauth/src/lib/services/remember-me.service.ts +++ b/npm/ng-packs/packages/oauth/src/lib/services/remember-me.service.ts @@ -38,7 +38,10 @@ export class RememberMeService { } getFromToken(accessToken: string) { - const tokenBody = accessToken.split('.')[1].replace(/-/g, '+').replace(/_/g, '/'); + let tokenBody = accessToken.split('.')[1].replace(/-/g, '+').replace(/_/g, '/'); + while (tokenBody.length % 4 !== 0) { + tokenBody += '='; + } try { const parsedToken = JSON.parse(atob(tokenBody)); return Boolean(parsedToken[this.#rememberMe]);