Esta não é realmente uma pergunta, mas um guia sobre como fazer solicitações autenticadas para a API do Wordpress usando o JWT. Estou escrevendo isso como um lembrete para mim e para aqueles que precisam de ajuda com o mesmo tópico.
rest-api
authentication
grazianodev
fonte
fonte
Respostas:
Por que autenticação JWT
Estou construindo um site que usa o Wordpress como back-end e um aplicativo React + Redux como front-end, por isso estou puxando todo o conteúdo do front-end fazendo solicitações à API do Wordpress. Algumas solicitações (principalmente solicitações POST) devem ser autenticadas, e foi quando me deparei com o JWT.
O que precisamos
Para usar a autenticação JWT com o Wordpress, primeiro precisamos instalar o plugin JWT Authentication for WP REST API . Como é explicado nas instruções do plugin, também precisamos modificar alguns arquivos principais do Wordpress. Em particular:
No arquivo .htaccess incluído na pasta raiz da instalação do Wordpress, precisamos adicionar as seguintes linhas:
No arquivo wp-config.php, também incluído na pasta raiz da instalação do Wordpress, precisamos adicionar estas linhas:
Testando para ver se o JWT está disponível
Para verificar se agora podemos usar o JWT, inicie o Postman e faça uma solicitação para o 'índice' padrão da API do Wordpress:
Alguns novos pontos de extremidade, como
/jwt-auth/v1
e/jwt-auth/v1/token
deveriam ter sido adicionados à API. Se você puder encontrá-los na resposta à solicitação acima, isso significa que o JWT está agora disponível.Obtendo o token JWT
Vamos ficar no Postman por enquanto e solicitar um token para a API do Wordpress:
A resposta conterá o token JWT, que é uma chave criptografada que se parece com isso:
Fazendo uma solicitação autenticada
Vamos tentar alterar o título de uma postagem com um ID 300 como exemplo de uma solicitação autenticada com o JWT.
No Postman, escolha POST como o método e digite o seguinte ponto de extremidade:
Escolha Sem autenticação na guia Autorização e adicione o seguinte na guia Cabeçalhos:
Por fim, na guia Corpo, selecione as opções brutas e JSON (application / json) e, no editor logo abaixo das opções, digite o seguinte:
Agora você pode pressionar ENVIAR. Procure na guia de resposta todos os dados sobre a postagem que solicitamos: o valor da chave do título agora deve ser
YES! Authenticated requests with JWT work
fonte
register_rest_route( 'jwt-auth/v1', 'your_custom_endpoint ...
. Qualquer coisa sob / jwt-auth / terão autorizaçãoComplementando a resposta de @ grazianodev, é assim que você obtém seu token de autorização usando cURL:
Depois disso, envie suas solicitações com o cabeçalho: "Autorização: token $ do portador"
Onde $ token é o token retornado pela função getToken () acima.
Pessoalmente, uso o plug-in " Desativar API REST e exigir autenticação JWT / OAuth " para restringir o acesso à API apenas com o token acima.
fonte