✅ Notícias, temas e plug-ins da WEB e do WordPress. Aqui compartilhamos dicas e as melhores soluções para sites.

Enviando cabeçalhos de autorização com o WordPress

60

Sempre que estivermos fazendo solicitações remotas com o WordPress, provavelmente usaremos uma das seguintes funções:

E, sim, às vezes usaremos cURL dependendo da natureza do projeto, mas isso está fora do conteúdo deste post.

Enviando cabeçalhos de autorização com o WordPress

Para este artigo, quero falar especificamente sobre como fazer solicitações remotas e especificar cabeçalhos em uma API de terceiros.

Cabeçalhos de autorização com WordPress

Sempre que se trata de fazer solicitações assíncronas com o WordPress, o processo geralmente é assim:

  1. Configure a função JavaScript para fazer uma chamada para o lado do servidor (com um nonce seguro, é claro),
  2. Faça com que o lado do servidor execute a solicitação usando uma das funções acima mencionadas,
  3. Retornar a resposta na forma de uma mensagem de sucesso ou de erro ,
  4. Faça com que o JavaScript do lado do cliente lide com a resposta da maneira que parecer adequada com base na resposta.

Mas e se a solicitação de API que você precisa fazer do servidor exigir algo mais do que um endpoint básico com alguns parâmetros?

Mais especificamente, e se o que você está escrevendo exige que você forneça algum tipo de autorização para o seu trabalho? Felizmente, o WordPress nos permite definir cabeçalhos que resolvem exatamente isso.

Se você quiser implementar algo assim, vou assumir que o tipo de conteúdo será JSON e que a autorização será algum tipo de token (no entanto, sua implementação pode variar de acordo com o sistema com o qual você está trabalhando).

Nesse caso, meu token será simplesmente identificado como $token. E aqui está um exemplo simples:

<?php

$response = wp_safe_remote_post(
    $url,
    [
        'headers'     => [
            'Content-Type'  => 'application/json',
            'Authorization' => $token
        ],
        'body'        => wp_json_encode($args),
        'method'      => 'POST',
        'data_format' => 'body',
    ]
);

Algo digno de nota

Se o seu host estiver rodando no Apache e esse tipo de solicitação não funcionar, você provavelmente precisará atualizar seu htaccessarquivo para que ele inclua a seguinte regra: SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1.

Adereços para George por me ligar com isso.

Fonte de gravação: tommcfarlin.com

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação