Application Passwords não estão funcionando
Ao usar application passwords para autenticar requisições ao endpoint GraphQL, caso elas não funcionem, pode haver um conflito com um plugin instalado no site. Em particular, isso pode acontecer quando o WooCommerce está instalado e ativado no site.
Se a requisição a um endpoint GraphQL usando uma Application Password falhar na autenticação do usuário, e você tiver realizado alguma das seguintes ações no Gato GraphQL:
- Atualizado o caminho do GraphQL Single Endpoint
- Atualizado o slug base dos Custom Endpoints ou das Persisted Queries
- Desativado algum endpoint (desativando o módulo correspondente)
...então você deve aplicar a mesma modificação via hook, para evitar o conflito.
Por que isso acontece
Existe um conflito de temporização entre a inicialização do WooCommerce e a configuração do container de serviços do Gato GraphQL.
O WooCommerce aciona o filtro application_password_is_api_request durante seu processo de inicialização. Como o Gato GraphQL ainda não foi inicializado nesse momento, ele não consegue recuperar os caminhos corretos dos endpoints do banco de dados, para determinar se a requisição está vindo de um endpoint GraphQL e habilitar o uso de application passwords para autenticação.
Solução temporária
Quando o filtro application_password_is_api_request é acionado pelo WooCommerce (ou por outro plugin), o Gato GraphQL assume os caminhos padrão para os endpoints GraphQL.
Portanto, se você modificar o caminho de algum endpoint público nas Configurações do plugin, deverá aplicar a mesma modificação via hook.
Consulte o guia Replicando atualizações de caminho de endpoint GraphQL via hooks para a solução.