import { jwtDecrypt } from 'jose'; // Your base64-encoded 256-bit key (should decode to 32 bytes) const base64Key = 'yourBase64EncodedKeyHere'; // example: "3q2+7w==..." // Decode base64 to a Uint8Array const key = Uint8Array.from(Buffer.from(base64Key, 'base64')); // Your JWE compact token const token = 'eyJalgIjoiZGlyIiwiZW5jIjoiQTI1NkdDTSJ9....'; async function decrypt() { const { payload, protectedHeader } = await jwtDecrypt(token, key); console.log('🔓 Decrypted payload:', new TextDecoder().decode(payload)); console.log('📄 Header:', protectedHeader); } decrypt().catch(err => console.error('Decryption failed:', err));