Ini sebenarnya bukan pertanyaan tetapi panduan tentang cara membuat permintaan terotentikasi ke Wordpress API menggunakan JWT. Saya menulis ini sebagai pengingat bagi diri saya dan bagi mereka yang mungkin membutuhkan bantuan dengan topik yang sama.
rest-api
authentication
grazianodev
sumber
sumber
Jawaban:
Mengapa otentikasi JWT
Saya sedang membangun situs yang menggunakan Wordpress sebagai back-end, dan aplikasi React + Redux sebagai front-end, jadi saya menarik semua konten di front-end dengan membuat permintaan ke Wordpress API. Beberapa permintaan (terutama, permintaan POST) harus diautentikasi, yaitu ketika saya menemukan JWT.
Apa yang kita butuhkan
Untuk menggunakan otentikasi JWT dengan Wordpress, pertama-tama kita harus menginstal JWT Authentication untuk plugin WP REST API . Seperti yang dijelaskan dalam instruksi plugin, kita juga perlu memodifikasi beberapa file inti Wordpress. Khususnya:
Dalam file .htaccess yang termasuk dalam folder root instalasi Wordpress, kita perlu menambahkan baris berikut:
Dalam file wp-config.php, juga termasuk dalam folder root instalasi Wordpress, kita perlu menambahkan baris-baris ini:
Pengujian untuk melihat apakah JWT tersedia
Untuk memverifikasi bahwa kita sekarang dapat menggunakan JWT, jalankan Postman dan buat permintaan ke 'indeks' default API Wordpress:
Beberapa titik akhir baru, seperti
/jwt-auth/v1
dan/jwt-auth/v1/token
seharusnya ditambahkan ke API. Jika Anda dapat menemukannya dalam menanggapi permintaan di atas, itu berarti JWT sekarang tersedia.Mendapatkan token JWT
Mari kita tetap di Postman untuk saat ini, dan mari kita minta token ke Wordpress API:
Respons akan berisi token JWT, yang merupakan kunci terenkripsi yang terlihat seperti ini:
Membuat permintaan yang diautentikasi
Mari kita coba mengubah judul posting dengan ID 300 sebagai contoh permintaan terotentikasi dengan JWT.
Di tukang pos, pilih POST sebagai metode dan ketik titik akhir berikut:
Pilih Tanpa Auth di tab Otorisasi, dan tambahkan berikut ini di tab Header:
Akhirnya, pada tab Tubuh, pilih opsi mentah dan JSON (aplikasi / json), lalu di editor tepat di bawah opsi ketik yang berikut ini:
Sekarang Anda dapat menekan KIRIM. Lihat di tab respons dengan semua data tentang pos yang kami minta: nilai untuk kunci judul seharusnya sekarang
YES! Authenticated requests with JWT work
sumber
register_rest_route( 'jwt-auth/v1', 'your_custom_endpoint ...
. Apa pun yang berada di bawah / jwt-auth / perlu otorisasiMelengkapi jawaban @ grazianodev, ini adalah bagaimana Anda mendapatkan token otorisasi Anda menggunakan cURL:
Setelah itu, kirim permintaan Anda dengan tajuk: "Otorisasi: Bearer $ token"
Di mana $ token adalah token yang dikembalikan oleh fungsi getToken () di atas.
Saya pribadi menggunakan plugin " Nonaktifkan REST API dan Membutuhkan JWT / OAuth Authentication " untuk membatasi akses API hanya dengan token di atas.
sumber