Procurar Resultados :

×

Registrar Contato

Autenticação de API REST para WordPress usando um provedor terceirizado

A autenticação da API REST do WordPress usando o método de provedor terceirizado envolve o uso de tokens (access-token/id-token/jwt token) recebidos de provedores terceirizados como Google, Facebook, Firebase, Apple, Azure AD, Keycloak, Okta, AWS Cognito, Github, Slack, Gitlab, etc., para acessar a API REST do WordPress com segurança.
Os endpoints do WordPress não são seguros por padrão e os dados podem ser roubados por meio de APIs REST em formato JSON. O plugin REST API Authentication for WordPress permite que você chame APIs REST com vários métodos de segurança, como Autenticação Básica, Chave de API, token JWT e token OAuth. Neste guia, usaremos o token OAuth emitido pelos provedores OAuth/OpenID Connect/Firebase para validar as solicitações da API REST, o que manterá seu site WordPress protegido e seguro. Cada vez que uma solicitação de acesso à API REST for feita, a autenticação será realizada com base nesse token emitido por provedores terceirizados, como Google, Facebook, Firebase, Apple, Okta, etc., e, com base na validação do token da API, o acesso aos recursos da API REST será permitido. Portanto, o token único obtido em seu aplicativo após o login SSO pode ser usado para acessar os endpoints da API REST do WordPress.



Autenticação de API REST para WordPress

O plugin REST API Authentication para WordPress oferece segurança contra acessos não autorizados às suas APIs REST do WordPress. Nosso plugin oferece 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.

Saiba mais   

  • Efetue login na sua instância do WordPress como administrador.
  • Ir para o WordPress Painel -> Plugins e clique em adicionar Novo.
  • Procurar por um Autenticação REST API plugin para WordPress e clique em Agora instale.
  • Uma vez instalado, clique em Ativação.


  • Suponha que você tenha um aplicativo móvel para Android/iOS e ofereça aos seus usuários a opção de fazer login com múltiplos provedores de autenticação social, como Google, Facebook, Apple, LinkedIn, Instagram ou outros provedores OAuth/OpenID Connect, como AWS Cognito, Auth0, Microsoft Azure, Okta, Keycloak, Firebase etc., e queira que seus usuários acessem os endpoints da API REST do WordPress a partir do aplicativo. Nesse caso, você pode realizar a autenticação de acesso aos endpoints da API REST com base no token de acesso/identificação (token JWT) obtido do provedor de identidade OAuth/OpenID Connect (servidor) durante o Single Sign-On (SSO) para login no seu aplicativo. O token de acesso/identificação/JWT é então passado no cabeçalho de Autorização da requisição da API com o tipo de token definido como Bearer, e a validação desse token é feita diretamente pelo provedor de identidade OAuth/OpenID Connect/Firebase correspondente. A requisição de validação é feita internamente ao servidor OAuth/OpenID Connect correspondente. Se a validação do token for bem-sucedida, a requisição da API REST resultará no acesso aos recursos/dados; caso contrário, uma resposta de erro será retornada. Dessa forma, os recursos/dados podem ser protegidos com o mais alto nível de segurança, com autenticação direta de provedores de identidade OAuth/OpenID Connect.

  • Autenticação de API REST para WP usando método de chave de terceiros
  • Como esse caso de uso para autenticação pode ser alcançado com nosso plugin:
    • 1. A solicitação ao endpoint da API REST é feita com o token de acesso/identificação obtido dos provedores de identidade OAuth/OpenID Connect, passado no cabeçalho de autorização com o tipo de token definido como Bearer.

      2. A solicitação da API REST do WordPress é monitorada pelo nosso plugin e a solicitação de validação/autenticação do token JWT é enviada ao provedor de identidade OAuth/OpenID Connect (servidor).

      3. A resposta é retornada pelo provedor de identidade OAuth/OpenID Connect (servidor) para a solicitação feita anteriormente para validar o token JWT.

      4. Se a validação/autenticação do token JWT for bem-sucedida, o recurso solicitado poderá ser acessado, o que significa que o solicitante está autorizado a acessar o recurso/dados. Caso a validação do token falhe, uma resposta de erro será retornada. Assim, os dados do recurso estarão protegidos e poderão ser acessados ​​mediante autorização, portanto, a segurança não será uma preocupação.


Caso de uso relacionado:

  • Como impedir que os endpoints da API REST do WordPress usem o token JWT fornecido pelo Login Social ou pelos provedores de identidade OAuth2.0/OpenID Connect?
  • Como realizar a autenticação e garantir a segurança ou a autorização para conceder acesso aos endpoints da API REST do WordPress com base no token de acesso/identificação fornecido pelos provedores de login social/OAuth durante o fluxo de login SSO OAuth/OpenID?
  • Como autenticar e acessar os endpoints da API REST do WordPress/WooCommerce usando Tokens JWT do Firebase para aplicativos móveis?




  • Escolha o seu Método de autenticação →Provedor terceirizado e adicione Ponto final da introspecção fornecido pelo seu provedor OAuth/OpenID Connect, clique em Salvar configuração.
  • Autenticação de API REST para WP usando método de chave de terceiros
  • Após configurar o plugin com o endpoint de introspecção fornecido pelo seu provedor, tente acessar suas APIs REST do WordPress usando o token de acesso/id_token fornecido pelo seu provedor OAuth, conforme mostrado abaixo.
  • Request: GET https://<domain-name>/wp-json/wp/v2/posts
    Header: 
    access_token : < access_token >
    OR
    id_token  : < id_token  >
    -H 'app-name:TheAppName'
    
  • Confira o documentação do desenvolvedor para mais detalhes.

 
var client = new RestClient("http://<wp_base_url>/wp-json/wp/v2/posts ");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "< access_token > OR id_token <id_token>");
request.AddHeader = ("app-name", "TheAppName");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
 
OkHttpClient client  = new OkHttpClient().newBuilder().build();
MediaType mediaType  = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request  = new Request.Builder()
.url("http://<wp_base_url>/wp-json/wp/v2/posts ")
.method("GET", null)
 .addHeader = ("Authorization", "< access_token > OR id_token <id_token>")
.addHeader = ("app-name", "TheAppName");
 .build();
Response responseclient.newCall(request).execute();
 
var settings  = {
"url": "http://<wp_base_url>/wp-json/wp/v2/posts ",
"method": "GET",
"timeout": 0,
"headers": {
"Authorization": "< access_token > OR id_token <id_token>"
"app-name": "TheAppName"
},        
};

$.ajax(settings).done(function (response)  {
console.log(response);
});
 
<?php
 $curl = curl_init();
curl_setopt_array($curl, array 
(  
CURLOPT_URL => 'http://%3Cwp_base_url%3E/wp-json/wp/v2/posts%20',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization: < access_token > OR id_token <id_token>'
'app-name: TheAppName'
),

));          

$response = curl_exec($curl);
curl_close($curl);    
echo $response;
 
import http.client

conn   = http.client.HTTPSConnection("<wp_base_url>")
payload= "
headers = {
'Authorization': '< access_token > OR id_token <id_token>'
'app-name': 'TheAppName',
}
conn.request("GET", "/wp-json/wp/v2/posts ", payload, headers)
res= conn.getresponse()    
data = res.read()    
print (data.decode("utf-8"))   

    Siga os passos abaixo para fazer uma solicitação de API REST usando o Postman:

  • Você pode baixar o formato de solicitação do Postman de amostra em aqui..
  • Extraia o arquivo zip baixado e importe o arquivo json extraído para o aplicativo Postman.
  • Autenticação de API REST para WordPress usando implementação do Postman com método de terceiros.
  • Substituir o < token_de_acesso > or < id_token > com o respectivo token fornecido pelo seu provedor OAuth 2.0.
  • Substituir o < nome-do-aplicativo > com seu respectivo AppName.
  • Exemplo:
  • Autenticação de API REST para WP usando método de terceiros (Postman) para substituir a URL do recurso real.

1. Restrição da API REST baseada em função:


Este recurso permite restringir o acesso à API REST com base nas funções do usuário. Você pode adicionar à lista de permissões as funções para as quais deseja permitir o acesso ao recurso solicitado nas APIs REST. Assim, sempre que um usuário fizer uma solicitação à API REST, sua função será verificada e o acesso ao recurso será permitido somente se a função correspondente estiver na lista de permissões.


Como configurá-lo?

  • Primeiro, vá para a aba "Configurações avançadas" do plugin.
  • Em seguida, na seção Restrição baseada em função, todas as funções terão permissão para acessar as APIs por padrão. Você pode marcar a caixa de seleção das funções para as quais deseja restringir o acesso.
  • Implementação do método de autenticação básica da API REST no Postman
  • Na captura de tela acima, a caixa de seleção da função de assinante está habilitada. Portanto, sempre que uma solicitação de API for feita pelo usuário com sua função de assinante, esse usuário não terá permissão para acessar o recurso solicitado.

Observação: o recurso de restrição baseada em função é válido para autenticação básica (nome de usuário: senha), método JWT e OAuth 2.0 (concessão de senha).


2. Cabeçalho personalizado


Este recurso oferece uma opção para escolher um cabeçalho personalizado em vez do cabeçalho padrão 'Autorização'.

Isso aumentará a segurança, pois você terá o cabeçalho nomeado com seu 'nome personalizado', de modo que, se alguém fizer a solicitação à API REST com um cabeçalho como 'Authorization', não poderá acessar as APIs.


Como configurá-lo?

  • Primeiro, vá para a aba "Configurações avançadas" do plugin.
  • Em seguida, na seção "Cabeçalho personalizado", você pode editar a caixa de texto para inserir o nome personalizado desejado.
  • Implementação do método de autenticação básica da API REST no Postman

3. Excluir APIs REST


Este recurso permite adicionar suas APIs REST à lista de permissões, para que elas possam ser acessadas diretamente sem autenticação. Dessa forma, todas as APIs REST adicionadas à lista de permissões ficam publicamente disponíveis.


Como configurá-lo?

  • Primeiro, vá para a aba "Configurações avançadas" do plugin.
  • Em seguida, na seção "Excluir APIs REST", você pode inserir suas APIs no formato prescrito, que precisam ser adicionadas à lista de permissões para acesso público.
  • Implementação do método de autenticação básica da API REST no Postman
  • Exemplo: Suponha que você queira excluir a API REST '/wp-json/wp/v2/posts' então você tem que digitar '/wp/v2/posts' na caixa de texto.

4. Expiração de Token Personalizado


Essa funcionalidade é aplicável aos métodos JWT e OAuth 2.0, que utilizam tokens temporizados para autenticar os endpoints da API REST do WordPress. Com ela, você pode definir um prazo de validade personalizado para os tokens, de forma que eles percam a validade após expirarem.


Como configurá-lo?

  • Primeiro, vá para a aba "Configurações avançadas" do plugin.
  • Na seção 'Configuração de Expiração do Token', é possível alterar a validade do token de acesso e do token de atualização (usado no método OAuth 2.0). Por padrão, o tempo de expiração do token de acesso é definido para 60 minutos e o do token de atualização para 14 dias. Portanto, com esse recurso, a expiração pode ser ajustada de acordo com as necessidades.
  • Implementação do método de autenticação básica da API REST no Postman

Portanto, com esse recurso de expiração de token personalizado, a segurança aumenta ainda mais.


5. Habilite a criptografia avançada para os tokens usando HMAC


Essa funcionalidade está disponível com o método de Autenticação Básica, no qual, por padrão, o token é criptografado usando a técnica de codificação Base64, mas com o recurso avançado, o token pode ser criptografado com a criptografia HMAC altamente segura.

Implementação do método de autenticação básica da API REST no Postman

6. Validação de assinatura para tokens baseados em JWT


Este recurso permite a assinatura segura do token JWT, tornando-o muito mais seguro e garantindo que a assinatura só possa ser decodificada usando o segredo/certificado do cliente. Isso significa que sua assinatura é privada e não pode ser vista por terceiros.

Implementação do método de autenticação básica da API REST no Postman

Oferecemos suporte para 2 algoritmos de assinatura: HS256 e RS256. Portanto, qualquer um dos algoritmos de assinatura pode ser escolhido no menu suspenso, conforme mostrado na imagem acima.

Além disso, você precisa adicionar o segredo do cliente ou certificado que será usado para assinar o JWT.


7. Crie chaves/tokens de API específicos do usuário


  • Essa funcionalidade está disponível no método de chave de API, no qual os tokens podem ser gerados de acordo com as informações do usuário, em vez de um token gerado aleatoriamente, que seria uma chave universal.
  • Com a chave/token da API Universal, os usuários não têm permissão para acessar determinadas APIs REST do WordPress com os métodos de solicitação POST, PUT ou DELETE, como a criação de usuários, posts ou páginas, etc., que exigem permissões/funções específicas do usuário para realizar operações por meio da solicitação da API REST, visto que a chave universal é gerada aleatoriamente e não contém uma descrição baseada no usuário.
  • Assim, esse recurso de chave/token de API baseado no usuário permite que o usuário acesse as APIs REST com os métodos de requisição POST, PUT e DELETE no WordPress, que exigem credenciais de usuário ou determinadas funções para realizar a operação. Dessa forma, quando a requisição à API REST do WordPress é feita com a chave baseada no usuário, a função do usuário é obtida e ele só poderá acessar a API se tiver a permissão necessária.
  • Por exemplo: Somente usuários com funções de administrador e editor têm permissão para criar, editar ou excluir uma publicação.
  • Portanto, se uma solicitação for feita a esta API para criar/excluir/editar a publicação, a resposta da API será "Você não tem permissão para realizar esta operação".
  • Agora, se uma solicitação for feita com o token baseado no usuário gerado para o usuário que possui a função de administrador ou editor, somente ele terá acesso a esta API e poderá realizar a operação (criar/atualizar/excluir) por meio da chamada da API.
  • Como usar este recurso:

  • Selecione o usuário no menu suspenso e clique no botão Criar chave de API.
  • Implementação do método de autenticação básica da API REST no Postman
  • Um pop-up aparecerá na tela, você só precisa clicar no botão OK para copiar o token.
  • Implementação do método de autenticação básica da API REST no Postman
  • Agora, esse token pode ser usado na solicitação da API da mesma forma que a chave universal é usada para fazer a solicitação da API.


Obtenha uma avaliação completa



 Obrigado pela sua resposta. Entraremos em contato em breve.

Algo deu errado. Envie sua consulta novamente.

APIs REST para WordPress com um provedor terceirizado

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.

ADFS_sso ×
Olá!

Preciso de ajuda? Estamos bem aqui!

ajuda