Masalah Umum
Masalah UmumApplication Passwords tidak berfungsi

Application Passwords tidak berfungsi

Saat menggunakan application passwords untuk mengautentikasi permintaan ke endpoint GraphQL, dan tidak berfungsi, mungkin ada konflik dengan plugin yang terpasang di situs. Khususnya, hal ini dapat terjadi ketika WooCommerce terpasang dan diaktifkan di situs.

Jika permintaan ke endpoint GraphQL menggunakan Application Password gagal mengautentikasi pengguna, dan Anda telah melakukan salah satu dari hal berikut di Gato GraphQL:

  • Memperbarui path GraphQL Single Endpoint
  • Memperbarui slug dasar dari Custom Endpoints atau Persisted Queries
  • Menonaktifkan endpoint mana pun (dengan menonaktifkan modul yang bersangkutan)

...maka Anda harus menerapkan modifikasi yang sama melalui hook, untuk menghindari konflik.

Mengapa ini terjadi

Terdapat konflik waktu antara inisialisasi WooCommerce dan pengaturan service container Gato GraphQL.

WooCommerce memicu filter application_password_is_api_request selama proses inisialisasinya. Karena Gato GraphQL belum diinisialisasi, ia tidak dapat mengambil path endpoint yang benar dari database, untuk menentukan apakah permintaan berasal dari endpoint GraphQL dan mengaktifkan penggunaan application passwords untuk autentikasi.

Solusi sementara

Ketika filter application_password_is_api_request dipicu oleh WooCommerce (atau plugin lain), Gato GraphQL mengasumsikan path default untuk endpoint GraphQL.

Kemudian, jika Anda mengubah path endpoint publik mana pun melalui Pengaturan plugin, Anda harus menerapkan modifikasi yang sama melalui hook.

Baca panduan Mereplikasi pembaruan path endpoint GraphQL melalui hooks untuk solusinya.