Problemas comuns
Problemas comunsApplication Passwords não estão funcionando

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.