diff --git a/app/composables/useMessengerBotLink.ts b/app/composables/useMessengerBotLink.ts index f2b694a..e3f1e38 100644 --- a/app/composables/useMessengerBotLink.ts +++ b/app/composables/useMessengerBotLink.ts @@ -1,10 +1,21 @@ +function toBase64Url(value: string) { + if (typeof Buffer !== 'undefined') { + return Buffer.from(value, 'utf8').toString('base64url'); + } + + return btoa(value) + .replace(/\+/g, '-') + .replace(/\//g, '_') + .replace(/=+$/g, ''); +} + export function buildMessengerBotStartUrl(baseUrl: string, email: string) { const normalizedEmail = email.trim().toLowerCase(); if (!baseUrl || !normalizedEmail) { return ''; } - const payload = encodeURIComponent(`login:${normalizedEmail}`); + const payload = encodeURIComponent(toBase64Url(`login:${normalizedEmail}`)); const separator = baseUrl.includes('?') ? '&' : '?'; return `${baseUrl}${separator}start=${payload}`; }