Cara menggunakan
- Tekan Buat untuk code_verifier baru atau tempel milik Anda.
- code_challenge dihitung sebagai BASE64URL(SHA-256(code_verifier)).
- Kirim code_challenge dan code_challenge_method=S256 pada permintaan otorisasi.
- Kirim code_verifier pada permintaan token.
PKCE (Proof Key for Code Exchange, RFC 7636) melindungi alur kode otorisasi OAuth 2.0. Mekanisme ini dibuat untuk klien publik seperti aplikasi seluler, aplikasi desktop, dan aplikasi satu halaman (SPA) yang tidak bisa menyimpan client secret dengan aman. Sebelum mengalihkan pengguna, klien membuat rahasia sekali pakai bernama code_verifier dan hanya mengirim hash-nya, yaitu code_challenge. Saat menukar kode dengan token, klien mengirim verifier asli dan server mencocokkan keduanya, sehingga orang yang hanya mencuri kode tidak bisa memakainya.
Generator ini mengambil 32 byte acak dari crypto.getRandomValues di browser lalu mengodekannya ke base64url tanpa padding, sehingga verifier berisi 43 karakter. code_challenge adalah SHA-256 dari verifier, juga dalam base64url tanpa padding, dan selalu 43 karakter. Hanya metode S256 yang tersedia: RFC 7636 juga mendefinisikan plain, tetapi mewajibkan S256 bila klien mampu menghitung SHA-256. Berguna untuk men-debug integrasi login, mencocokkan keluaran pustaka Anda, atau menyusun permintaan uji secara manual.
Verifier yang ditempel langsung di-hash tanpa pemeriksaan format, jadi pastikan sendiri panjangnya 43–128 karakter dari A–Z, a–z, 0–9, “-”, “.”, “_”, dan “~”. Buat verifier baru untuk setiap permintaan otorisasi. Kedua nilai dihitung di halaman ini dengan Web Crypto API dan tidak dikirim ke mana pun.