Latihan 1 dari materi PASETO (alternatif modern JWT) di Auth — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Simulasikan logika build/verify token PASETO (tanpa kriptografi sungguhan — fokus pada struktur + expiration):
buildToken(payload, secret, now) — tambahkan iat: now dan biarkan exp jika sudah ada di payload. Return string format "v4.local." + base64(JSON(payload)) + "." + secret (secret dianggap signature placeholder).verifyToken(token, secret, now) — return object { valid, reason, payload }:
"v4.local." → { valid: false, reason: "malformed" }secret → { valid: false, reason: "bad_signature" }payload.exp ada dan payload.exp <= now → { valid: false, reason: "expired" }{ valid: true, reason: null, payload }Gunakan btoa(JSON.stringify(payload)) dan atob(...) untuk encode/decode.