Procurar Resultados :

×

Registrar Contacte-nos

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


O que é REST API?

A API REST, também conhecida como API RESTful, é um estilo para escrever Interfaces de Programação de Aplicativos (APPs) limitadas por regras definidas, mas com estilo arquitetônico REST, permitindo a comunicação entre endpoints REST. A comunicação entre APIs deve ser protegida por um método de segurança, de forma que o acesso seja seguro e protegido. Este artigo apresentará a API REST e terminologias e métodos relacionados para proteger a API REST do WordPress. Também abordaremos Plugin de autenticação miniOrange WordPress REST API 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 endpoints (URLs) que contêm informações sobre suas postagens, páginas, etc. Você pode simplesmente fazer uma solicitação GET para o seu endpoint do WordPress e ler o conteúdo do seu site WordPress em formato JSON de 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 conveniente, mesmo fora da instalação do WordPress. Falaremos sobre a proteção dos endpoints mais adiante neste artigo.

O que é API?

API REST do WordPress
API A API, ou Application Programming Interface (API), permite que dois aplicativos se comuniquem entre si. Cada vez que um usuário envia uma solicitação ao servidor, o servidor responde a essa solicitação com um recurso obtido do servidor, chamado resposta. A API é criada no servidor e o usuário tem permissão para se comunicar 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 maneiras limitadas e claramente definidas. A API permite que o usuário envie ou receba dados fazendo uma "chamada" ou "solicitaçã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 solicitaçõ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 meteorológicas são interfaces de programação de aplicativos que permitem buscar informações meteorológicas em grandes bancos de dados de previsões meteorológicas. Isso é feito por meio de uma API, que envia a resposta para você.

      2. Mapa do Google: A API do Google Maps é útil para fornecer dados como localizações geográficas, latitudes, longitudes, etc. do banco de dados de mapas do Google.

      3. Faça login usando XYZ: Você pode ter visto em vários sites a opção de login com 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 autenticação do usuário para permitir que ele entre no site.

O que é a API REST do WordPress?

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

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

Termos-chave da API REST do WordPress

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 as terminologias básicas relacionadas à API REST do WP:

      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. Solicitação: É uma instância de WP_REST_Request que pode ser usada para recuperar informações de solicitações atuais.

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

      5. Esquema: Ele permite que você entenda quais parâmetros de entrada e propriedades podem ser enviados e recebidos por meio da API REST.

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

Como a API REST do WordPress é útil?

  • A API REST do WordPress torna as operações CRUD (Criar, Ler, Atualizar e Excluir) disponíveis em qualquer lugar, em vez de se limitarem apenas ao painel de administração do WordPress. Ela fornece uma forma leve de comunicação entre o cliente e o servidor, tornando-se uma ótima solução para troca de dados.
  • Ele 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 comércio eletrônico. Você poderá sincronizar seus usuários, inventário e todos os outros dados entre seu site WordPress e o aplicativo móvel. Seus clientes poderão finalizar a compra mais rapidamente em seu aplicativo móvel e, consequentemente, aumentar suas vendas e lucros.
  • A API REST do WordPress permitirá que você estenda a funcionalidade de um site de e-commerce (WooCommerce) além da funcionalidade básica fornecida pelo WooCommerce. Ela ajudará você a se conectar a APIs externas (mais funções) para fornecer mais recursos à sua loja WooCommerce com segurança.

Sabemos que a API REST do WordPress abre portas para muitas oportunidades, mas precisamos estar atentos para proteger nossos endpoints. Nosso plugin para WordPress possui diversos recursos de segurança para proteger os sites WordPress (WooCommerce, Learndash, Zoho, etc.).

Como funcionam as APIs REST do WordPress?

Existe uma enorme quantidade de dados disponíveis através API REST do WordPress e é acessível por todos que solicitarem, como postagens, páginas, comentários, etc. A autenticação por cookie é o método de autenticação padrão incluído no WordPress para proteger seus dados. Quando você faz login no seu painel, isso configura os cookies corretamente para você, então os desenvolvedores de plugins e temas precisam apenas ter um usuário conectado. No entanto, a API REST inclui uma técnica chamada nonces para evitar problemas de CSRF. Isso impede que outros sites o forcem a executar ações sem a intenção explícita de fazê-lo. Isso requer um tratamento ligeiramente especial para a API. É um método mais seguro para proteger seu site WordPress. A API REST é enviada por meio de endpoints HTTP (HyperText Transfer Protocol), usando a formatação JSON (JavaScript Object Notation). Esses endpoints podem representar as postagens, páginas e outros tipos de dados do WordPress ou quaisquer outros endpoints criados personalizados. Ela manipula dados do cliente e do servidor sem ter acesso real ao banco de dados e, portanto, o banco de dados permanece seguro.

Os endpoints da API REST do WordPress são abertos por padrão e, portanto, podem ser uma brecha no seu site. Além do roubo de dados e do phishing que podem ser iniciados por meio desses endpoints do WordPress, há uma ameaça maior aos dados do usuário que o WordPress fornece 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 grande violação de segurança.

Portanto, ter endpoints WP abertos em seus sites WordPress, como o WooCommerce, facilita o acesso de scrapers e ladrões de conteúdo ao seu site WordPress, pois eles são experientes em tecnologia o suficiente para se aproveitar de seus erros e descuidos. Isso pode levar a um risco potencial à privacidade, pois dados do usuário, como nome e endereço, podem ser acessados ​​por essas pessoas mal-intencionadas.

O risco também surge quando criminosos têm seu nome de usuário e agora podem usar força bruta para invadir seu site, já que a API REST do WordPress permitiu o acesso ao seu site de onde obtiveram os nomes de usuário. Para garantir a segurança, você pode desabilitar completamente a API REST em seu site (WooCommerce, e-learning, etc.), mas isso o impedirá de usar esse recurso para expandir seus negócios e oportunidades, pois você pode integrar seu site WordPress a outros endpoints, como inventário central, aplicativos móveis, etc. Em vez de banir completamente a API REST, você deve encontrar uma maneira de protegê-la e usar a API REST do WordPress para o que ela se destina.

Como a API REST do WordPress se beneficia

A API REST do WordPress abre uma grande porta de oportunidades para desenvolvedores explorarem e implementarem funções que tornarão a sua frenética manipulação de dados uma tarefa fácil. Graças à formatação JSON dos dados, o WordPress pode trocar dados com outros sites e softwares usando a API REST do WordPress, independentemente da linguagem em que o aplicativo/software/site foi escrito. Você só precisa cuidar da proteção dos endpoints implementando métodos seguros, como os que fornecemos em nosso plugin WordPress REST API Authentication. Isso ajudará a proteger seu WordPress e também dará mais funcionalidades ao seu site, que você poderá utilizar para crescimento.

Caso de uso para API REST do WordPress

Há vários casos de uso disponíveis para APIs REST do WordPress e alguns dos principais casos de uso estão listados abaixo:

    Sincronização de dados via API REST
  • Suponha que você queira desenvolver um aplicativo Android e iOS para blogs, onde os usuários possam visualizar e publicar blogs usando o próprio aplicativo móvel. Nesse caso, você também deseja criar, recuperar, atualizar e excluir as postagens do aplicativo móvel, o que pode ser feito facilmente e com segurança com a ajuda do WordPress.
  • Sincronização de dados do Woocommerce
  • Suponha que você tenha um site de comércio eletrônico desenvolvido com o plugin WooCommerce e o WordPress e queira desenvolver aplicativos nativos usando o framework React. Agora, você não quer criar outro banco de dados para o aplicativo nativo e carregar todos os produtos, detalhes de clientes e pedidos, pois isso não será eficiente e bem mantido como no caso do WordPress. Você pode acessar facilmente as APIs REST do WooCommerce com segurança e proteção em seu aplicativo nativo, mesmo com a funcionalidade de login do usuário com credenciais do WordPress e até mesmo com o login social. Você pode autenticar e acessar facilmente as APIs REST do WooCommerce se tiver feito login usando a plataforma de login social em seu aplicativo.

PLUGIN DE AUTENTICAÇÃO DA API REST DO WORDPRESS miniOrange para proteger seus endpoints REST.

Sincronização de dados do WordPress-miniorange via API Rest

Eu sugiro que você baixe o plugin WP REST API Authentication para WordPress, que tornará muito mais fácil acessar as 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 suporta 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, etc., para proteger seu site WordPress. Estes métodos também são compatíveis com todos os métodos HTTP abaixo:

      1. OBTER (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 (Atualização): 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.

Instalando o plugin de autenticação da API REST do WordPress

Há várias maneiras de instalar e configurar nosso plugin WordPress REST API para a segurança do seu site WordPress.

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

      2. Outro método para instalar e se beneficiar do nosso plugin é baixá-lo na opção “adicionar novo” na sua página de plugins.

      Qualquer uma das duas etapas simples permitirá que você proteja e proteja seus sites WordPress como WooCommerce, Learndash, etc. Para obter uma explicação detalhada e um guia passo a passo para configurar o plugin, por favor 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. Postar meta

      5. Comentários

      6. Utilizadores

      7. Condições

Mas surge a pergunta: se você precisa 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 do WordPress para lidar com a funcionalidade ou pode usar nosso outro plugin chamado CUSTOM API for WP para criar APIs REST personalizadas do WordPress. Você poderá se conectar às APIs do Learndash, Gravity Forms, WooCommerce, Google Merchant, 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 codificar uma única linha.

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

Se você está pensando que precisará de algumas personalizações em nosso plugin WordPress REST API ou Custom API, então deixe-me dar uma boa notícia: nós fornecemos personalizações aos clientes de acordo com seu caso de uso, para que eles não precisem comprometer nada e aproveitem nossos serviços e suporte com nossos plugins REST API.

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

Estes são os métodos de autenticação fornecidos em nosso plugin WordPress REST API. Para ler 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 endpoints do WordPress, onde os usuários podem ser autenticados seguindo dois métodos:

    1. Nome de usuário:Senha: - Neste tipo de autenticação básica, credenciais de usuário como nome de usuário e senha são necessárias para aprovar o usuário no 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 com o formato de codificação base64 ou criptografia HMAC altamente segura.

  • Autenticação de chave de API: Este método de segurança permite que você proteja endpoints do WordPress sem revelar credenciais do usuário, pois o plugin gera uma chave de API para acessar qualquer recurso que também pode ser regenerada no plugin ou expirada a pedido do administrador.
  • Autenticação JWT: Este método usa 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, por meio do qual você pode gerar o token JWT facilmente, passando as credenciais de usuário válidas do WordPress.
  • Autenticação OAuth 2.0: Este é o método mais seguro para autenticar e proteger as APIs REST. Caso você não tenha um provedor de identidade terceirizado, a Autenticação da API REST do 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 Provedor de Terceiros: Este método é usado quando você já tem um OAuth/OpenID Connect externo (provedor de identidade) que fornece um token de acesso/token de ID ou um token JWT, que pode ser usado para autenticar as APIs REST do WordPress, e o plugin validará o token diretamente desses provedores de token 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 WP (por exemplo, posts, páginas e outras APIs REST) ​​com credenciais de login do WordPress ou client-id:client-secret fornecidas pelo próprio plugin, você pode optar por este método. É recomendável usar este método em HTTPS ou Secure Socket Layer.
  • Autenticação de chave de API: Se você deseja proteger suas APIs REST do WP (por exemplo, posts, páginas e outras APIs REST) ​​de usuários não autenticados, mas não deseja compartilhar as credenciais de login ou IDs de clientes dos usuários, nem o segredo para autenticar a API REST, você pode usar a autenticação por chave de API, que gerará uma chave de autenticação aleatória para você. Usando essa chave, você pode autenticar qualquer API REST em seu site. Este método também oferece um recurso para gerar uma chave de API específica para acessar e autenticar as APIs que envolvem permissões de usuário. A chave gerada estará em formato criptografado e, portanto, não haverá violação de segurança nem possível vazamento de dados.
  • Autenticação JWT: Se você deseja proteger suas APIs REST usando o token JWT e não possui nenhum provedor/provedor de identidade terceirizado que emita o token JWT, então você deve optar pelo método de Autenticação JWT. Nesse caso, nossa própria Autenticação de API REST do 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ê deseja 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/identidade terceirizado, então você deve optar pelo método de autenticação OAuth 2.0. Nesse cenário, nossa autenticação de API REST do WordPress funciona como servidor OAuth e como 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 do WP usando um Provedor OAuth/Provedor de Identidade externo, como Azure, Amazon Cognito, KeyCloak, Okta, ADFS, Google, Facebook, etc. e Firebase, então você deve optar pelo método de Autenticação de Provedor de Terceiros. Aqui, você só precisa configurar o plugin com o Endpoint de Introspecção/Endpoint de Informações do Usuário fornecido pelo seu Provedor de Identidade e poderá autenticar a Solicitação de API usando o token fornecido pelo aplicativo do seu provedor.

Leituras Relacionadas

Plug-ins recomendados

O plugin de autenticação da API REST do WordPress oferece segurança contra acesso não autorizado às suas APIs REST do WordPress. Ele oferece uma variedade de 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 do WordPress | O que é e como proteger as APIs REST do WP

Precisa de ajuda?

Envie-nos um e-mail apisupport@xecurify.com para orientação rápida (via e-mail/reunião) sobre sua necessidade e nossa equipe o ajudará a selecionar a solução/plano mais adequado de acordo com sua necessidade.

Olá!

Preciso de ajuda? Estamos bem aqui!

ajuda