Typowe problemy
Typowe problemyApplication Passwords nie działają

Application Passwords nie działają

Podczas używania application passwords do uwierzytelniania żądań do endpointu GraphQL, gdy nie działają one poprawnie, może wystąpić konflikt z wtyczką zainstalowaną na stronie. W szczególności może się to zdarzyć, gdy WooCommerce jest zainstalowany i aktywowany na stronie.

Jeśli żądanie do endpointu GraphQL przy użyciu Application Password nie powiedzie się podczas uwierzytelniania użytkownika, a w Gato GraphQL wykonałeś którąkolwiek z poniższych czynności:

  • Zaktualizowano ścieżkę GraphQL Single Endpoint
  • Zaktualizowano bazowy slug Custom Endpoints lub Persisted Queries
  • Wyłączono dowolny endpoint (poprzez wyłączenie odpowiedniego modułu)

...musisz zastosować tę samą modyfikację za pomocą hooka, aby uniknąć konfliktu.

Dlaczego tak się dzieje

Istnieje konflikt czasowy między inicjalizacją WooCommerce a konfiguracją kontenera usług Gato GraphQL.

WooCommerce wyzwala filtr application_password_is_api_request podczas procesu inicjalizacji. Ponieważ Gato GraphQL nie jest jeszcze zainicjalizowany, nie może pobrać poprawnych ścieżek endpointów z bazy danych, aby określić, czy żądanie pochodzi z endpointu GraphQL i włączyć używanie application passwords do uwierzytelniania.

Obejście problemu

Gdy filtr application_password_is_api_request jest wyzwalany przez WooCommerce (lub inną wtyczkę), Gato GraphQL zakłada domyślne ścieżki dla endpointów GraphQL.

Jeśli więc zmodyfikujesz ścieżkę dowolnego publicznego endpointu w Ustawieniach wtyczki, musisz zastosować tę samą modyfikację za pomocą hooka.

Zapoznaj się z przewodnikiem Replikowanie aktualizacji ścieżek endpointu GraphQL za pomocą hooków po rozwiązanie.