Suporte » Plugins » API REST do WooCommerce localhost com erro 401

  • Oi!

    Estou tentando rodar a API do WooCommerce local, mas sempre está dando erro (status) 401, tem algo especial para fazer ou algum requisito?

    Algumas coisas que já fiz:
    1. Testei mais do que uma chave para ver se não tem problema (API REST está ativada no Woo)
    2. Instalei e ativei o https://github.com/WP-API/Basic-Auth (testei também sem o plugin)
    3. A API do WP funciona normal
    4. Testei enviar a chave pela URL, mas dá 401 também

    Algumas coisas do meu ambiente:
    – WP 4.7.5
    – Woo 3.0.7
    – Apache/2.4.18 (Ubuntu)
    – PHP 7.0.15-0ubuntu0.16.10.4
    – cURL 7.50.1, OpenSSL/1.0.2g

    Alguém tem uma ideia do que pode ser?

Visualizando 4 respostas - 1 até 4 (de um total de 4)
  • Moderador Rahmohn

    (@rahmohn)

    Olá, @kossmann.

    Você poderia postar o log?

    Oi @rahmohn

    Log de erro do Apache não mostrou nada, no de acesso tenho:
    127.0.0.1 - ck_ea0149457e9efd8d0dcb3a632b4d1e4ad06afe35 [01/Jun/2017:14:48:35 -0300] "GET /woo/wp-json/wc/v2/products?query_string_auth=true HTTP/1.1" 401 530 "-" "insomnia/5.1.1"
    To tentando fazer a requisição pelo insomnia, mas pelo navegador dá o mesmo erro e cURL também.
    O log do Woo tá vazio.
    Tem mais algum lugar que posso verificar ou debug (além do WP_DEBUG)?

    • Esta resposta foi modificada 5 meses, 3 semanas atrás por  Daniel Kossmann.
    Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    Opa. Beleza?

    O 401 é erro de autorização. Algumas possibilidades são:
    – Seu IP foi banido do server (acho estranho, já que é local).
    – Seu usuário não tem permissão para acessar.

    Dei uma pesquisada e nessa issue:
    https://github.com/woocommerce/woocommerce/issues/11714#issuecomment-241834980

    Foi dado como solução trocar o método de autenticação (pode ser que o server não consiga ler a autenticação via HTTPS).

    Vê se ajuda.. abraços

    P.S.: por via das dúvidas faz aquele teste de desativar todo mundo (menos Woo, claro), voltar ao Tema padrão e tentar de novo…

    • Esta resposta foi modificada 5 meses, 2 semanas atrás por  Mário Valney.
    Moderador Claudio Sanches

    (@claudiosanches)

    Tem instruções na documentação do WooCommerce: https://woocommerce.github.io/woocommerce-rest-api-docs/#authentication

    2. Instalei e ativei o https://github.com/WP-API/Basic-Auth (testei também sem o plugin)

    Não tem necessidade, uma vez que já tem método de Basic Auth nativo no WooCommerce.

    3. A API do WP funciona normal

    API do WP é toda publica (parte de consulta, é claro) e não precisa de nada para autenticação.

    127.0.0.1 – ck_ea0149457e9efd8d0dcb3a632b4d1e4ad06afe35 [01/Jun/2017:14:48:35 -0300] “GET /woo/wp-json/wc/v2/products?query_string_auth=true HTTP/1.1” 401 530 “-” “insomnia/5.1.1”

    Pelo log não parece correto, até mesmo que query_string_auth=true não faz parte da API.

    Da para testar por cURL no terminal:

    curl -X GET -u consumer_key:consumer_secret https://example.com/wp-json/wc/v2/products
    

    Se estiver testando local, vai então precisar ignorar a validação certificado SSL usando -k.

    curl -X GET -u consumer_key:consumer_secret -k https://example.com/wp-json/wc/v2/products
    

    Também pode testar pela URL:

    curl -X GET -k https://example.com/wp-json/wc/v2/products?consumer_key=123&consumer_secret=abc
    

    Além que mesmo retornando como 401, a API do WooCommerce vai mostrar alguma mensagem, principalmente se for sobre autenticação que vai dar dicas de como resolver isso.

Visualizando 4 respostas - 1 até 4 (de um total de 4)
  • Você deve estar logado para responder a este tópico.