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.