Saya sedang mengerjakan aplikasi ajax yang akan disematkan di halaman wordpress. Aplikasi ajax bertukar data dengan servlets berjalan pada kucing jantan. Sekarang servlets membutuhkan cara untuk menentukan apakah permintaan berasal dari pengguna yang masuk ke wordpress. Dan jika pengguna login, servlet juga harus dapat menentukan id pengguna agar dapat melakukan query database. Jika pengguna tidak mencatatnya, permintaan akan ditolak.
Jadi dengan kata lain, saya perlu membiarkan servlet melakukan permintaan hanya jika pengguna yang menyebabkan permintaan tersebut masuk ke wordpress (versi 3.3.x). Baik servlet (tomcat) dan wordpress (apache2) dijalankan pada mesin fisik yang sama dan berbagi database yang sama.
Secara teori ini dapat dengan mudah diselesaikan dengan melakukan hal berikut:
- Selama logon wordpress, beberapa token pengguna disimpan dalam variabel javascript.
- Aplikasi ajax meneruskan token pengguna ke servlet pada setiap panggilan.
- Servlet menggunakan token untuk query wordpress jika valid (yaitu jika pengguna login) dan melakukan atau menolak permintaan.
Pertanyaannya adalah bagaimana ini bisa diterapkan di sisi wordpress?
Karena, yang membuat teorinya sangat rumit adalah kenyataan bahwa saya belum melakukan pemrograman php.
Pertama saya berpikir untuk mengirimkan cookie wordpress_logged_in (auth) ke servlet dan membiarkan servlet meminta wordpress jika cookie auth masih valid. Tapi seperti yang terlihat, ini tidak dapat dilakukan, karena wp_validate_auth_cookie () selalu gagal, bahkan jika cookie-data pengguna yang masuk telah lewat. Solusi lain bisa dengan mengembangkan plugin yang menyimpan sessionid dan userid dalam sebuah tabel, yang dapat dengan mudah ditanyakan oleh servlets. Atau mungkin ada solusi lain ...