Glossário

O que são Application Passwords no WordPress?

20 de maio de 2026

Application Passwords são credenciais de 24 caracteres introduzidas no WordPress 5.6 (dezembro de 2020) que permitem a aplicações externas autenticarem se na REST API e XML RPC do WordPress sem expor a password principal do utilizador. Cada Application Password está ligada a um único utilizador e a uma aplicação nomeada, pode ser revogada individualmente no perfil do utilizador e é enviada por HTTPS através de HTTP Basic Authentication. Substituem o antigo padrão inseguro de guardar a password principal do WordPress dentro de apps de terceiros e são hoje a forma recomendada de integrar o WordPress com apps móveis, scripts de deploy, frontends headless, ferramentas de backup e agentes de IA.

Porque o WordPress introduziu Application Passwords?

Antes do WordPress 5.6 toda integração REST API ou XML RPC com acesso de escrita tinha de usar a password principal do utilizador (Basic Auth) ou depender de plugins como JWT Auth ou OAuth. A password principal dava controlo total, e uma fuga significava takeover completo. Application Passwords resolvem isto com credenciais por app que se revogam imediatamente.

Como funcionam as Application Passwords?

O utilizador abre Utilizadores » Perfil, vai à secção "Application Passwords", dá um nome como "App iPhone" ou "Script de backup" e clica Adicionar nova Application Password. O WordPress gera um token de 24 caracteres mostrado uma única vez no formato xxxx xxxx xxxx xxxx xxxx xxxx. O token é guardado em hash em wp_usermeta sob a chave _application_passwords e usado com o login em HTTP Basic Auth:

curl -u utilizador:xxxxxxxxxxxxxxxxxxxxxxxx \
     https://example.com/wp-json/wp/v2/posts

Ou via JavaScript fetch:

const token = btoa('utilizador:xxxxxxxxxxxxxxxxxxxxxxxx');
fetch('https://example.com/wp-json/wp/v2/posts', {
  headers: { 'Authorization': 'Basic ' + token }
});

Casos de uso típicos

  • Apps móveis como a app oficial WordPress iOS e Android.
  • Frontends headless com Next.js, Astro, SvelteKit, Nuxt.
  • Scripts CI/CD que publicam posts, atualizam menus, fazem purge de cache.
  • Ferramentas de backup e migração como UpdraftPlus Remote, ManageWP, MainWP.
  • Workflows de conteúdo com IA via Zapier, Make, n8n ou um agente GPT.
  • Sincronização WooCommerce com ERP ou PIM.

Criar uma Application Password passo a passo

  1. Iniciar sessão com o utilizador alvo. Cria um utilizador dedicado com o role mínimo necessário.
  2. Ir a Utilizadores » Perfil ou Utilizadores » Todos » Editar.
  3. Descer até Application Passwords.
  4. Dar um nome descritivo, ex. Zapier Produção ou Servidor backup eu01.
  5. Clicar Adicionar nova Application Password.
  6. Copiar imediatamente o token de 24 caracteres.
  7. Colar na aplicação externa com o nome de utilizador.

Revogar e auditar Application Passwords

No mesmo ecrã cada Application Password mostra criação e último uso. Revogar invalida um token, Revogar todas invalida tudo. Efeito imediato. Revisão trimestral do "Último uso" revela integrações esquecidas.

São seguras as Application Passwords?

Sim, sobre HTTPS. Cerca de 144 bits de entropia, hash phpass, só no header Authorization. Riscos:

  • HTTPS obrigatório. WordPress recusa em HTTP simples por defeito.
  • Sem scopes nem expiração. Herda permissões do utilizador.
  • Desativadas por alguns plugins de hardening (iThemes/Solid Security).

Diferença para OAuth, JWT ou API Keys

MétodoIntegrado no WordPressRevogável por appScopesExpiração
Password principal (Basic Auth)SimNãoTotalNão
Application PasswordSim (5.6+)SimHerda roleNão
JWT Auth (plugin)NãoSó expiraçãoHerda roleSim
OAuth 2.0 (plugin)NãoSimSimSim (refresh)
WooCommerce REST API KeysWooCommerceSimLeitura/EscritaNão

Desativar Application Passwords completamente

add_filter( 'wp_is_application_passwords_available', '__return_false' );

Ou por utilizador:

add_filter( 'wp_is_application_passwords_available_for_user', function ( $available, $user ) {
    if ( user_can( $user, 'manage_options' ) ) {
        return false;
    }
    return $available;
}, 10, 2 );

O que o InspectWP verifica

O InspectWP reporta a disponibilidade da REST API do WordPress e sinaliza o endpoint /wp-json/wp/v2/users se expõe dados de utilizadores sem autenticação.

Verifique seu site WordPress agora

O InspectWP analisa seu site WordPress em busca de problemas de segurança, problemas de SEO, conformidade com GDPR e desempenho — gratuitamente.

Analise seu site grátis