post
Corrigir problema de permissão REST API WordPress Bitnami EC2
Publicado em: 12/06/2019 / Atualizado em: 12/06/2019
Recentemente ao instalar uma instancia na amazon web service (AWS) utilizando o empacotador da Bitmani, me deparei com um problema quando precisei usar a REST API json do wordpress para criar posts de um ambiente externo, mesmo com os dados todos corretos, o servidor estava barrando o acesso do usuário por não reconhecer os dados de autorização enviados pelo “header”, retornando um erro de “Sem permissão para criar posts com este usuário” com status de “erro 401”.
{
"code": "rest_cannot_create",
"message": "Sem permissão para criar posts com este usuário.",
"data": {
"status": 401
}
}
Para habilitar a REST API do WordPress com autenticação, o primeiro passo seria instalar um plugin chamado de Basic Auth para wordpress.
1. Instalando o plugin
O plugin pode ser obtido neste link ( https://github.com/WP-API/Basic-Auth ), copiando todo o código dentro do arquivo “basic-auth.php” ou fazendo o download do zip em “clone or download > download zip”.

Navegue até a pasta de plugins do wordpress (…/wp-content/plugins), crie um diretório chamado “Basic-Auth”, e adicione ou crie o arquivo “basic-auth.php”.
Segue processo realizado via linha de comando:
$ cd /opt/bitnami/apps/wordpress/htdocs/wp-content/plugins
$ git clone https://github.com/WP-API/Basic-Auth.git
$ cd Basic-Auth
$ sudo rm -rf .git
OBS: O processo a cima foi feito com o terminal git para windows (https://gitforwindows.org/), você pode também fazer o download manual ou copiar o conteúdo do arquivo manualmente para seu servidor.
2. Definindo permissões
Rode o código no terminal para conceder permissões corretas para o usuário que esta gerenciando o seu servidor.
$ sudo chown bitnami:daemon -R /opt/bitnami/apps/wordpress/htdocs/wp-content/plugins/Basic-Auth
$ sudo chmod g+w -R /opt/bitnami/apps/wordpress/htdocs/wp-content/plugins/Basic-Auth
3. Ative o plugin
Acesse o painel administrativo do wordpress, vá em “Plugins > Plugins Instalados”, localize o plugin (deve estar com o nome de “JSON Basic Authentication”), e clique em ativar.
4. Modificar as configurações do Apache
Acesse o arquivo de configurações principal do apache server configurado pelo empacotador da Bitnami da seguinte maneira:
$ sudo vim /opt/bitnami/apps/wordpress/conf/httpd-app.conf
Ao abrir o arquivo, navegue até o final, assim que localizar um trecho de código como este:
RewriteEngine On
#RewriteBase /wordpress/
RewriteRule ^index\.php$ - [S=1]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
Adicione acima dele as seguintes linhas:
RewriteEngine on
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
Seu código deve ficar mais ou menos assim:
RewriteEngine on
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
RewriteEngine On
#RewriteBase /wordpress/
RewriteRule ^index\.php$ - [S=1]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
Salve o arquivo clicando na tecla “esc” do seu teclado, para iniciar o dialogo e digite exatamente como abaixo:
:wq
5. Reinicie o apache
Para reiniciar o apache server do empacotador Bitnami WordPress, você deve digitar o seguinte comando em seu terminal:
$ sudo /opt/bitnami/ctlscript.sh restart apache
Após o apache server reiniciar, seu site wordpress já esta habilidade para receber requisições via REST API.
Esta explicação foi retirada do canal oficial de duvidas da Bitnami.
Confira o link: https://community.bitnami.com/t/wordpress-rest-api-basic-authentication-header-not-working/59090/6
BÔNUS
Como posso criar meu primeiro post com a REST API ?
Segue link de um bom exemplo em PHP (https://gist.github.com/andrewahead4/489e6422feb5be901143)
Não cheguei a testar o código mas parece que esta tudo certo.
Outra maneira de sempre testar uma API sem precisar iniciar servidor ou preparar ambiente é usar o Postman (https://www.getpostman.com/).
Publicações recomendadas:
Inscreva-se em Nossa News:
Seja notificando sempre que tiver conteúdo novo disponível no meu canal do Youtube ou artigo no meu Blog.

Link Curto para Compartilhamento
Compartilhe esse conteudo nas redes sociais ou por mensagem usando o link curto abaixo. Basta clicar em cima do link para copiar.
bruno.art.br/pb/115
ID de Referência: 115
Sugira uma publicação
Envie uma mensagem e sugira um publicação sobre um assunto que tenha dificuldades de resolver.