From 201ab7ed05efccf0946ccea7e20d701f201daefb Mon Sep 17 00:00:00 2001 From: ao-anam Date: Tue, 8 Apr 2025 12:23:56 +0100 Subject: [PATCH] fix: use buffer decoding for session tokens to support non web platforms --- src/AnamClient.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/AnamClient.ts b/src/AnamClient.ts index 59d2c97..e9b7607 100644 --- a/src/AnamClient.ts +++ b/src/AnamClient.ts @@ -16,7 +16,7 @@ import { StartSessionResponse, } from './types'; import { TalkMessageStream } from './types/TalkMessageStream'; - +import { Buffer } from 'buffer'; export default class AnamClient { private publicEventEmitter: PublicEventEmitter; private internalEventEmitter: InternalEventEmitter; @@ -68,7 +68,10 @@ export default class AnamClient { private decodeJwt(token: string): any { try { const base64Payload = token.split('.')[1]; - const payload = JSON.parse(atob(base64Payload)); + const payloadString = Buffer.from(base64Payload, 'base64').toString( + 'utf8', + ); + const payload = JSON.parse(payloadString); return payload; } catch (error) { throw new Error('Invalid session token format');