OpenByt - A sua melhor fonte de conhecimento gratuito sobre WordPress

Domine a API REST do WordPress: Autenticação e integração

O que é a API REST?

API REST (Interface de Programação de Aplicações de Transferência de Estado Representacional) é um conjunto de regras que permite que diferentes sistemas de software comuniquem através da Internet. Imagine uma API como uma ponte que liga dois sistemas, permitindo-lhes pedir e partilhar informações.

Let’s break down the components of a REST API:

Como é que uma API REST funciona?

REST API allows clients (like your browser or an app) to send requests to servers and receive data in return. Let’s break down how it works step by step:

  1. Pedido do cliente: O cliente (a sua aplicação) envia um pedido HTTP para um URL específico no servidor. Este URL representa um recurso (por exemplo, um utilizador, um produto, etc.).
    • Exemplo: GET https://api.example.com/users solicita a lista de utilizadores.
  2. Processamento do servidor: O servidor recebe o pedido, processa-o, recupera os dados (normalmente de uma base de dados) e prepara uma resposta.
  3. Resposta do servidor: O servidor envia uma resposta HTTP de volta ao cliente. Esta resposta inclui:
    • Código de estado: To indicate if the request was successful (e.g., 200 OK for success, 404 Not Found if the resource doesn’t exist).
    • Dados: Normalmente em formato JSON, representa o recurso solicitado.

Autenticação básica: O que é e porque é que é importante?

Autenticação básica é uma forma simples de os utilizadores verificarem a sua identidade quando solicitam uma API. Neste método, o cliente envia o nome de utilizador e a palavra-passe codificados no cabeçalho do pedido, que o servidor valida.

Porque é que é importante?: A autenticação garante que apenas os utilizadores autorizados têm acesso aos recursos, impedindo o acesso de utilizadores não autorizados.

Como é que funciona?: Quando um cliente envia um pedido ao servidor, inclui um Autorização com as credenciais codificadas em Base64.

Exemplo:

Autorização: Basic dXNlcm5hbWU6cGFzc3dvcmQ=

O servidor descodifica este cabeçalho e verifica se o nome de utilizador e a palavra-passe são válidos.

Métodos de autenticação para a API REST do WordPress

Ao trabalhar com o API REST do WordPressPara proteger os pedidos, pode utilizar vários métodos de autenticação:

1:Autenticação básica

2:Autenticação de cookies

3:Autenticação OAuth

4:Senhas de aplicações

Maximizar o desenvolvimento com a API REST do WordPress

A API REST do WordPress pode criar aplicações Web poderosas, permitindo-lhe interagir com o seu site WordPress a partir do exterior do painel de controlo do WordPress. Veja como pode maximizar o desenvolvimento:

1:Endpoints personalizados: Pode criar pontos finais personalizados para expor dados adicionais do seu sítio WordPress que podem não estar disponíveis por predefinição.

Exemplo:

add_action('rest_api_init', function() {
  register_rest_route('myplugin/v1', '/custom-data/', array(
    'methods' => 'GET',
    'callback' => 'my_custom_data_callback',
  ));
});

Função my_custom_data_callback() {
  return new WP_REST_Response(array('data' => 'Hello, world!'), 200);
}

2:Integração de JavaScript: Use JavaScript para enviar solicitações à API REST para criar experiências de usuário dinâmicas e interativas. Por exemplo, pode criar uma aplicação React ou Vue.js que interaja com o seu backend do WordPress através da API REST.

Exemplo prático: Imagine criar um sistema de comentários personalizado em que os utilizadores podem publicar comentários sem recarregar a página, tudo através da interação com a API REST via JavaScript.

Enviando solicitações autenticadas com JavaScript

Para enviar pedidos autenticados utilizando JavaScript, tem de incluir as credenciais ou tokens corretos nos cabeçalhos dos pedidos. Por exemplo:

fetch('https://api.example.com/users', {
  método: 'GET',
  cabeçalhos: {
    'Authorization': 'Basic ' + btoa('username:password'),
    'Content-Type': 'application/json'
  }
})
  .then(response => response.json())
  .then(data => console.log(data));

Neste exemplo, a função btoa() codifica as credenciais em Base64 para autenticação primária.

Autenticação de cookies

When working with cookie authentication, you can use the WordPress logged-in user’s session cookies to access the REST API. Here’s a step-by-step example of how it works:

  1. O utilizador inicia sessão The user logs in to your WordPress site, and WordPress sets an authentication cookie in the user’s browser.
  2. Enviar pedidos: Quando o seu código JavaScript solicita a API REST, o browser inclui o cookie nos cabeçalhos do pedido e o WordPress sabe qual o utilizador que está a fazer o pedido.

Enviando solicitações com a API HTTP do WordPress

Também pode utilizar o API HTTP do WordPress para enviar pedidos a partir do seu sítio WordPress. A API HTTP é um conjunto de funções que o WordPress fornece para interagir com as APIs REST.

Exemplo de envio de um pedido GET:

$response = wp_remote_get('https://api.example.com/users');
Se (is_wp_error($response)) {
  $error_message = $response->get_error_message();
  echo "Algo correu mal: $error_message";
} else {
  $body = wp_remote_retrieve_body($response);
  echo $body;
}

Este exemplo utiliza a função wp_remote_get() para enviar um pedido GET a uma API externa e obter a resposta.

Resumo

Neste guia, abordámos:

FAQ: Perguntas comuns sobre a API REST e a autenticação

  1. Posso utilizar a API REST sem autenticação?
    • Sim, mas apenas para dados públicos. Para quaisquer dados sensíveis, precisa de uma autenticação adequada.
  2. A autenticação básica é segura?
    • A autenticação básica não é segura para produção porque as credenciais são codificadas, não encriptadas. É mais adequada para testes ou através de HTTPS.
  3. Para que são utilizadas as palavras-passe de aplicação?
    • As palavras-passe de aplicação autenticam os pedidos de API sem partilhar a sua palavra-passe principal do WordPress. Ajudam a integrar aplicações de terceiros.

Próximos passos

Boa programação e continue a explorar! A API REST é uma ferramenta poderosa, e se souber como utilizá-la, terá acesso a infinitas possibilidades no desenvolvimento web.

Sair da versão móvel