Kami menggunakan JWT ( JSON Web Token ) untuk mengautentikasi aplikasi WordPress kami dengan layanan eksternal. Aliran saat ini yang kami pikirkan adalah seperti ini:
- Pengguna masuk di situs induk
- Situs induk mengirimkan permintaan POST dengan informasi pengguna dan token JWT ke situs WordPress
- Situs WP menyimpan token JWT
- Token diperiksa untuk kedaluwarsa setiap kali pengguna mengunjungi halaman baru, dan jika token tersebut kedaluwarsa, pengguna akan diarahkan ke situs induk untuk login lagi.
Pertanyaan saya:
- Apakah ini pendekatan yang tepat?
- Bagaimana cara menyimpan token JWT? Sebuah biskuit? Atau dalam database, dengan informasi pengguna sebagai pengidentifikasi unik? Catatan: Pengguna tidak akan terdaftar di situs WP.
- Bagaimana saya memeriksa kedaluwarsa?
Ada plugin WP untuk JWT tetapi tidak ada dokumentasi untuk itu, maka saya tidak yakin apakah itu akan memenuhi tujuan saya.
authentication
single-sign-on
Rutwick Gangurde
sumber
sumber
Jawaban:
Ini muncul sebagai pemberitahuan karena upvote. Inilah cara saya menyelesaikannya.
wp_init
handler harus digunakan untuk menangani permintaan POST dikirim oleh endpoint, untuk mengekstrak token.Titik akhir bisa dalam bahasa apa pun. Juga ini adalah aliran umum itu, Anda dapat menggunakannya di mana saja Anda inginkan.
sumber
Mengaktifkan Single-Sign-On di WordPress membutuhkan waktu lebih dari 18 jam untuk saya tetapi mungkin hanya perlu beberapa menit:
Pada dasarnya, Anda ingin menggunakan https://wordpress.org/plugins/wp-force-login/ dan versi modifikasi https://as.wordpress.org/plugins/jwt-authenticator/ dan kemudian membuat auth endpoint yang dilindungi di situs utama Anda yang menghasilkan JWT (JSON Web Token) dan mengarahkan kembali ke URL khusus situs WordPress Anda.
Lihat kode lengkap di sini .
sumber