Pengembang / OAuth

Generator Code Verifier dan Code Challenge PKCE

Buat code verifier PKCE OAuth 2.0, code challenge S256, dan nilai state, atau periksa verifier yang sudah Anda miliki sesuai RFC 7636.

Generator Code Verifier dan Code Challenge PKCE: PKCE melindungi alur authorization code OAuth untuk aplikasi yang tidak dapat menyimpan secret, seperti aplikasi mobile dan single-page app. Verifier adalah string acak yang terdiri dari karakter yang tidak perlu di-encode, dibuat di sini oleh secure random generator browser Anda tanpa bias; challenge adalah SHA-256 dari verifier yang di-encode dalam Base64url. Perhitungannya sesuai dengan contoh RFC 7636. Berjalan 100% lokal di browser Anda tanpa upload file ke server.

Dijalankan
Di browser Anda
Biaya
Gratis · tanpa daftar
Ketersediaan
Siap digunakan
Generator verifier dan challenge kode PKCEPemrosesan lokal

Berjalan sepenuhnya di browser Anda

code_verifier—
code_challenge (S256)—
code_challenge_methodS256
state—

Kirim code_challenge dan code_challenge_method=S256 bersama permintaan otorisasi, simpan verifier sebagai secret di sisi client, lalu kirimkan bersama permintaan token. Challenge adalah SHA-256 Base64url dari verifier, sebagaimana ditetapkan RFC 7636.

Singkatnya, begini alurnya

Aplikasi membuat verifier dan menyimpannya, mengirim challenge ke server otorisasi bersama request sign-in, menerima authorization code, lalu menukar code tersebut bersama verifier untuk mendapatkan token. Penyerang yang mencegat code tidak dapat menggunakannya tanpa verifier.

Untuk memeriksa token yang diterima, gunakan JWT decoder.

Kini wajib di mana-mana

OAuth 2.1 dan praktik terbaik keamanan saat ini merekomendasikan PKCE untuk setiap client yang menggunakan alur authorization code, termasuk client sisi server yang bersifat confidential.

Cara menggunakannya

  1. Pilih panjang verifier, 43 hingga 128 karakter, lalu tekan Generate.
  2. Salin code challenge dan metodenya ke dalam permintaan otorisasi.
  3. Simpan verifier untuk permintaan token; tempelkan verifier untuk melihat challenge-nya.

Privasi & batasan

Nilai dibuat di browser Anda dan tidak pernah dikirim ke mana pun.

Alat terkait

Pertanyaan umum

Sebaiknya menggunakan plain atau S256?

Selalu gunakan S256 jika client dapat menghitung SHA-256, dan semua platform modern dapat melakukannya; plain hanya tersedia untuk client yang tidak bisa.

Untuk apa nilai state digunakan?

Nilai ini melindungi dari cross-site request forgery: kirim bersama permintaan otorisasi dan periksa apakah nilai yang sama dikembalikan.

Berapa panjang verifier yang sebaiknya digunakan?

Setidaknya 43 karakter; 64 karakter atau lebih umum digunakan. Panjang yang lebih besar menambah keacakan, tetapi tidak menimbulkan masalah kompatibilitas hingga 128 karakter.

Alat gratis · berjalan di browser anda · tanpa perlu akun