Procurar Resultados :

×

Registrar Contato

API REST para WordPress | O que é e como proteger APIs REST no WordPress


O que é REST API?

A API REST, também conhecida como API RESTful, é um estilo para escrever Interfaces de Programação de Aplicativos (APIs) que segue as regras do estilo arquitetural REST e permite a comunicação entre endpoints REST. A comunicação entre APIs deve ser protegida por um método de segurança para garantir o acesso seguro. Este artigo apresentará a API REST, sua terminologia e métodos relacionados, além de abordar a segurança da API REST para WordPress. Também exploraremos... Plugin miniOrange REST API para autenticação no WordPress e seus recursos para proteger e assegurar a API REST do WordPress.

O que é RESTO?

REST ou Transferência de Estado Representacional, é basicamente a coleta de JSON Os endpoints (URLs) contêm informações sobre suas postagens, páginas, etc. Você pode simplesmente fazer uma requisição GET para o endpoint do WordPress e ler o conteúdo do seu site em formato JSON, mesmo fora da instalação do WordPress. Isso torna a API REST do WordPress disponível para operações CRUD, permitindo que você crie, leia, atualize e exclua conteúdo do seu site de forma prática e remota. Abordaremos a proteção dos endpoints mais adiante neste artigo.

O que é API?

API REST para WordPress
API Uma API (Interface de Programação de Aplicativos) permite que duas aplicações se comuniquem entre si. Cada vez que um usuário envia uma requisição ao servidor, este responde com um recurso obtido do próprio servidor, chamado resposta. A API é criada no servidor e o usuário pode interagir com ela. Isso fornece uma interface para os sistemas de computador na web, facilitando a interação entre cliente e servidor e o compartilhamento de dados de forma limitada e claramente definida. A API permite que o usuário envie ou receba dados fazendo uma "chamada" ou "requisição" específica. JSON é uma linguagem de programação usada para essa comunicação. A API pode ser usada para fazer quatro tipos diferentes de requisições:
1. GET (Recuperar): Esta função permite que você busque dados do servidor por meio da chamada da API.
2. POST (Criar): Esta função permite que você escreva novas informações no servidor.
3. PUT (Atualizar): Esta função permite que você atualize o conteúdo já disponível no servidor.
4. DELETE (Remover): Esta função permite que você exclua dados do servidor.

Exemplos cotidianos de API:

      1. Previsão do Tempo: APIs de previsão do tempo são Interfaces de Programação de Aplicativos que permitem obter informações meteorológicas de grandes bancos de dados de previsões. Isso é feito por meio de uma API, que retorna a resposta para você.

      2. Google Maps: A API do Google Maps é útil para fornecer dados como geolocalização, latitude, longitude, etc., a partir do banco de dados do Google Maps.

      3. Login usando XYZ: Você já deve ter visto em diversos sites a opção de fazer login com o Google, Facebook, etc. Em vez de usar as credenciais do usuário, o aplicativo faz uma chamada de API para o Google, Facebook, etc., solicitando a autenticação do usuário para permitir o acesso ao site.

O que são APIs REST para WordPress?

O que são APIs REST para WordPress?
A API REST do WordPress (Representational State Transfer Application Programming Interface) fornece uma interface para que aplicativos (como Android, iOS, React e Angular) interajam com seu site WordPress, enviando e recebendo dados como objetos JSON (JavaScript Object Notation). Aqui, usamos JavaScript para acessar a API REST e carregar conteúdo do banco de dados do WordPress em nossa página web.

Exemplo: O endpoint REST abaixo é usado para buscar todas as postagens e páginas do WordPress.
  • OBTER /posts - https://www.example.com/wp-json/wp/v2/posts
  • OBTER /pages - https://www.example.com/wp-json/wp/v2/pages

API REST para WordPress - Termos-chave

Antes de nos aprofundarmos na API REST do WordPress e no que ela significa para os desenvolvedores, vamos dedicar um breve momento para nos familiarizarmos com a terminologia básica relacionada à API REST:

      1. Rota: É uma URL que pode ser mapeada para diferentes métodos HTTP. Exemplo: /wp-json/

      2. Ponto final: É uma conexão entre um método HTTP individual e uma rota.

      3. Requisição: É uma instância de WP_REST_Request que pode ser usada para recuperar informações das requisições atuais.

      4. Resposta: Fornece os dados solicitados ou exibe um erro para mostrar o que deu errado durante a execução/chamada.

      5. Esquema: Permite compreender quais parâmetros de entrada e propriedades podem ser enviados e recebidos através da API REST.

      6. Classes de controlador: É onde você lida/gerencia as solicitações da API REST.

Como as APIs REST são úteis para o WordPress?

  • A API REST torna as operações CRUD (Criar, Ler, Atualizar e Excluir) disponíveis em qualquer lugar, em vez de ficarem limitadas apenas ao painel de administração do WordPress. Ela oferece uma forma leve de comunicação entre o cliente e o servidor, tornando-se uma ótima solução para troca de dados.
  • Pode ser usado para criar aplicativos nativos para iOS/Android, etc. Podemos usar qualquer linguagem que quisermos, desde que ela tenha a capacidade de fazer requisições HTTP e interpretar JSON, como Node.js, Express.js, Ruby, Python, etc.
  • Permitirá que você tenha um aplicativo móvel para seu WooCommerce Site de e-commerce. Você poderá sincronizar seus usuários, estoque e todos os outros dados entre seu site WordPress e o aplicativo móvel. Seus clientes poderão finalizar a compra mais rapidamente no aplicativo móvel, aumentando assim suas vendas e lucros.
  • A API REST para WordPress permite expandir a funcionalidade de um site de e-commerce (WooCommerce) além das funcionalidades básicas oferecidas pelo WooCommerce. Ela possibilita a conexão com APIs externas (mais funções) para fornecer mais recursos à sua loja WooCommerce de forma segura.

Sabemos que a API REST para WordPress abre muitas portas, mas precisamos estar atentos à proteção e segurança dos nossos endpoints. Nosso plugin para WordPress possui diversos recursos de segurança para proteger sites WordPress (WooCommerce, LearnDash, Zoho, etc.).

Como funcionam as APIs REST para WordPress?

Existe uma enorme quantidade de dados disponíveis através da API REST do WordPress , acessíveis a todos que os solicitarem, como posts, páginas, comentários, etc. A autenticação por cookies é o método padrão do WordPress para proteger seus dados. Ao fazer login no painel de controle, os cookies são configurados automaticamente, de modo que os desenvolvedores de plugins e temas precisam apenas de um usuário logado. No entanto, a API REST inclui uma técnica chamada nonces para evitar problemas de CSRF (Ataque de Requisição Seletiva a Sites) com CSRF. Isso impede que outros sites forcem você a realizar ações sem a sua permissão explícita. Essa técnica requer um tratamento especial da API, sendo um método mais seguro para proteger seu site WordPress. A API REST utiliza endpoints HTTP (HyperText Transfer Protocol) com formatação JSON (JavaScript Object Notation). Esses endpoints podem representar posts, páginas e outros tipos de dados do WordPress, ou quaisquer outros endpoints personalizados. Ela manipula dados do cliente e do servidor sem ter acesso direto ao banco de dados, mantendo-o seguro.

Os endpoints da API REST do WordPress são abertos por padrão e, portanto, representam uma brecha de segurança para o seu site. Além do roubo de dados e do phishing que podem ser iniciados por meio desses endpoints do WordPress, existe uma ameaça ainda maior para os dados do usuário, que o WordPress disponibiliza a qualquer pessoa que os solicite.

  • Exemplo: https://example.com/wp-json/wp/v2/users/

Se você tentar acessar esses endpoints, por padrão a API REST do WordPress exibirá todos os dados relacionados aos seus usuários, o que pode levar a uma grave violação de segurança.

Ao expor endpoints do WordPress, como o WooCommerce, seu site fica vulnerável a ataques de scrapers e ladrões de conteúdo, que, com sua expertise técnica, se aproveitam de erros e descuidos. Isso representa um risco potencial à privacidade, pois dados como nome e endereço do usuário podem ser acessados ​​por essas pessoas mal-intencionadas.

O risco também surge quando invasores mal-intencionados possuem seu nome de usuário e podem invadir seu site por meio de força bruta, já que a API REST do WordPress permitiu o acesso ao seu site, de onde obtiveram os nomes de usuário. Para maior segurança, você pode desativar completamente a API REST em seu site (WooCommerce, e-learning, etc.), mas isso o impedirá de usar esse recurso para impulsionar seus negócios e oportunidades, visto que você pode integrar seu site WordPress com outros endpoints, como estoque centralizado, aplicativos móveis, etc. Em vez de bloquear completamente a API REST, você deve encontrar uma maneira de protegê-la e usá-la para o propósito para o qual foi criada.

Como as APIs REST para WordPress podem ser benéficas

A API REST para WordPress abre um leque enorme de oportunidades para desenvolvedores explorarem e implementarem funcionalidades que facilitarão o gerenciamento de dados. Graças à formatação JSON dos dados, o WordPress consegue trocar informações com outros sites e softwares usando a API REST, independentemente da linguagem de programação utilizada. Basta garantir a proteção dos endpoints com métodos seguros, como os oferecidos pelo nosso plugin de Autenticação de API REST para WordPress. Isso ajudará a proteger seu WordPress e também a adicionar mais funcionalidades ao seu site, que você poderá utilizar para o crescimento.

Caso de uso para API REST no WordPress

Existem diversos casos de uso disponíveis para APIs REST no WordPress, e alguns dos principais estão listados abaixo:

    Sincronização de dados via API REST
  • Imagine que você queira desenvolver um aplicativo para Android e iOS para fins de blog, onde os usuários possam visualizar e publicar posts diretamente pelo aplicativo. Nesse caso, você também gostaria de criar, recuperar, atualizar e excluir posts pelo aplicativo, o que pode ser feito de forma fácil e segura com o WordPress.
  • Sincronização de dados do Woocommerce
  • Imagine que você tenha um site de e-commerce desenvolvido com o plugin WooCommerce e o WordPress, e queira desenvolver aplicativos nativos usando o framework React. Você não quer criar um banco de dados separado para o aplicativo nativo e importar todos os detalhes de produtos, clientes e pedidos, pois isso não seria eficiente nem fácil de manter, como acontece com o WordPress. Com o React, você pode acessar facilmente as APIs REST do WooCommerce com segurança e proteção em seu aplicativo nativo, inclusive com a funcionalidade de login do usuário com as credenciais do WordPress e também com login social. A autenticação e o acesso às APIs REST do WooCommerce são facilitados para usuários que fizeram login em seu aplicativo usando uma plataforma de login social.

Plugin de autenticação de API REST miniOrange para WordPress para proteger seus endpoints REST.

Sincronização de dados do miniorange via API REST para WordPress

Sugiro que você baixe o plugin REST API Authentication para WordPress, que facilitará bastante o acesso às APIs REST do WordPress com segurança e proteção de dados padrão do setor, de acordo com seu caso de uso ou requisitos.

Ele oferece suporte a diversos métodos de autenticação, como autenticação por chave de API, autenticação básica, autenticação JWT, autenticação OAuth 2.0 e autenticação por provedor OAuth 2.0 de terceiros, entre outros, para proteger e garantir a segurança do seu site WordPress. Esses métodos também são compatíveis com todos os métodos HTTP listados abaixo:

      1. GET (Recuperar): Esta função permite obter dados do servidor através de uma chamada à API.

      2. POST (Criar): Esta função permite que você escreva novas informações no servidor.

      3. PUT (Atualizar): Esta função permite atualizar o conteúdo já disponível no servidor.

      4. EXCLUIR (Remover): Esta função permite excluir dados do servidor.

Instalando o plugin de autenticação REST API para WordPress

Existem diversas maneiras de instalar e configurar nosso plugin de API REST para WordPress, a fim de aprimorar a segurança do seu site WordPress.

      1. Você pode baixar o pacote zip do plugin no marketplace da miniOrange ou diretamente do marketplace do WordPress. Após baixar o arquivo zip, você precisa extrair o conteúdo da pasta baixada para o diretório `/wp-content/plugins/` no seu sistema e, em seguida, basta ativar o plugin na página de plugins do WordPress em seu site WordPress.

      2. Outro método para instalar e aproveitar os benefícios do nosso plugin é baixá-lo através da opção "adicionar novo" na página de plugins.

      Qualquer um desses dois passos simples permitirá que você proteja e assegure seus sites WordPress, como WooCommerce, LearnDash, etc. Para obter uma explicação detalhada e um guia passo a passo para configurar o plugin, visite aqui.

Endpoints de API REST de plugins padrão e personalizados/de terceiros:

O WordPress fornece alguns endpoints REST padrão para obter dados de e para o site WordPress. Alguns desses endpoints são os seguintes:

      1. Postagens

      2. Páginas

      3. Mídia

      4. Postagem Meta

      5. Comentários

      6. Usuários

      7. Termos

Mas surge a questão: se você precisar criar endpoints de API REST padrão, como fazer isso? E se você quiser obter seus dados personalizados do banco de dados usando APIs REST com segurança?

Nesse caso, você precisa criar APIs REST personalizadas para o WordPress para lidar com a funcionalidade, ou pode usar nosso outro plugin chamado CUSTOM API for WP para criar APIs REST personalizadas para o WordPress. Você poderá se conectar às APIs do LearnDash, Gravity Forms, WooCommerce, Google Merchant Center, etc. Basta inserir o nome da API e o método HTTP que deseja usar. Depois disso, você precisa selecionar a tabela do banco de dados da qual deseja recuperar os dados. Você também pode selecionar as colunas e definir a condição para obtê-las sem precisar escrever uma única linha de código.

Personalização para qualquer tipo de integração/autenticação de API no WordPress:

Se você acha que precisará de algumas personalizações em nosso plugin de API REST ou API personalizada para WordPress, temos uma ótima notícia: oferecemos personalizações aos clientes de acordo com seu caso de uso, para que não precisem abrir mão de nada e possam desfrutar de nossos serviços e suporte com nossos plugins de API REST.

Métodos de autenticação da API REST em nosso plugin para WordPress

Esses são os métodos de autenticação fornecidos em nosso plugin REST API para WordPress. Para saber mais e se familiarizar com os exemplos do Postman, clique nos links abaixo:

  • Autenticação básica: É o método básico de autenticação para proteger e assegurar os endpoints do WordPress, onde os usuários podem ser autenticados por meio de dois métodos:

    1. Nome de usuário:Senha: - Neste tipo de autenticação básica, as credenciais do usuário, como nome de usuário e senha, são necessárias para aprovar o acesso do usuário ao sistema.
    2. Client-ID:Client-Secret: - Neste tipo de autenticação básica, as credenciais do cliente são fornecidas pelo plugin no cabeçalho de autorização, codificadas em base64 ou com criptografia HMAC de alta segurança.

  • Autenticação por chave de API: Este método de segurança permite proteger os endpoints do WordPress sem revelar as credenciais do usuário, pois o plugin gera uma chave de API para acessar qualquer recurso, a qual também pode ser regenerada no plugin ou expirada conforme a vontade do administrador.
  • Autenticação JWT: Este método utiliza o token JWT emitido pelo plugin e funciona como um autenticador de API para proteger suas APIs REST. O próprio plugin fornece o endpoint da API REST através do qual você pode gerar o token JWT facilmente, passando as credenciais de um usuário válido do WordPress.
  • Autenticação OAuth 2.0: Este é o método mais seguro para autenticar e proteger APIs REST. Caso você não possua um provedor de identidade de terceiros, a Autenticação de API REST para WordPress funciona como servidor OAuth (provedor) e autenticador de API para proteger suas APIs REST.

    1. Concessão de senha: - Este método é usado quando dados específicos do usuário são necessários.
    2. Concessão de credenciais do cliente: - Este método é usado para autenticar chamadas de API sem ter um usuário específico.

  • Autenticação de provedores terceirizados: Este método é utilizado quando você já possui um provedor de identidade OAuth/OpenID Connect externo que fornece um token de acesso/ID ou um token JWT, que pode ser usado para autenticar as APIs REST do WordPress. O plugin validará o token diretamente desses provedores e, somente após a validação bem-sucedida, os endpoints da API terão permissão para acessar.

Qual método de segurança usar em cada lugar?

  • Autenticação básica: Se você deseja proteger suas APIs REST do WordPress (por exemplo, posts, páginas e outras APIs REST) ​​com as credenciais de login do WordPress do usuário ou com o client-id:client-secret fornecido pelo próprio plugin, então você pode optar por este método. Recomenda-se que você utilize este método em HTTPS ou Secure Socket Layer (SSL).
  • Autenticação de chave de API: Se você deseja proteger suas APIs REST do WordPress (por exemplo, posts, páginas e outras APIs REST) ​​contra usuários não autenticados, mas não quer compartilhar as credenciais de login ou o ID do cliente para autenticar a API REST, você pode usar a autenticação por chave de API. Esse método gera uma chave de autenticação aleatória. Com essa chave, você pode autenticar qualquer API REST em seu site. Além disso, ele permite gerar chaves de API específicas para cada usuário, permitindo o acesso e a autenticação de APIs que exigem permissões de usuário. A chave gerada é criptografada, garantindo a segurança e evitando vazamentos de dados.
  • Autenticação JWT: Se você busca proteger suas APIs REST usando o token JWT e não possui um provedor de identidade/serviço terceirizado que emita tokens JWT, então deve optar pelo método de autenticação JWT. Nesse caso, nossa solução de autenticação de API REST para WordPress emite o token JWT e funciona como um autenticador de API para proteger suas APIs REST.
  • Autenticação OAuth 2.0 (MAIS SEGURO e MAIS RECOMENDADO): Se você busca proteger suas APIs REST usando o token de acesso ou o token de identificação (token JWT) e, ao mesmo tempo, não possui nenhum provedor de identidade/provedor de terceiros, então deve optar pelo método de autenticação OAuth 2.0. Nesse cenário, nossa Autenticação de API REST para WordPress funciona como servidor OAuth e autenticador de API para proteger suas APIs REST.
  • Autenticação de Provedor de Terceiros: Se você busca proteger/restringir o acesso às suas APIs REST usando um provedor OAuth/provedor de identidade externo, como Azure, Amazon Cognito, Keycloak, Okta, ADFS, Google, Facebook, etc., e Firebase, então deve optar pelo método de autenticação de provedor de terceiros. Nesse caso, basta configurar o plugin com o endpoint de introspecção/endpoint de informações do usuário fornecido pelo seu provedor de identidade e você poderá autenticar a solicitação da API usando o token fornecido pelo aplicativo do provedor.

Leituras Relacionadas

Plug-ins recomendados

O plugin REST API Authentication para WordPress oferece segurança contra acessos não autorizados às suas APIs REST do WordPress. Ele fornece diversos métodos de autenticação, como Autenticação Básica, Autenticação por Chave de API, Autenticação OAuth 2.0 e Autenticação JWT.

 Testado com 5.9.2

Este plugin permite criar endpoints/rotas REST personalizados para buscar/modificar/criar/excluir dados com uma interface gráfica fácil de usar e também com consultas SQL personalizadas. Além disso, o plugin oferece o recurso de integração de APIs externas ao seu site WordPress com plataformas de terceiros.

 Testado com 5.9.2

mini laranja img  Solicite uma demonstração do plugin


Obtenha uma avaliação completa



 Obrigado pela sua resposta. Entraremos em contato em breve.

Algo deu errado. Envie sua consulta novamente.

API REST para WordPress | O que é e como proteger APIs REST do WP

Precisa de ajuda?

Envie um e-mail para apisupport@xecurify.com para obter orientações rápidas (por e-mail ou reunião) sobre sua necessidade e nossa equipe o ajudará a selecionar a solução/plano mais adequado às suas necessidades.

Olá!

Preciso de ajuda? Estamos bem aqui!

ajuda