Back-End

26 mar, 2013

Como efetuar logout automático dos usuários em aplicações WordPress

Publicidade

Em algumas situações precisamos dar manutenção em projetos WordPress e é necessário que nenhum usuário faça uso da aplicação, principalmente os usuários logados e com acesso a área administrativa. Aprenderemos uma forma simples e eficaz de forçar os usuários fazerem login novamente, ou seja, forçar o logout dos usuários em atividades.

Antes disso, é importante reforçar a necessidade de desativar o arquivo wp-login.php – localizado na raíz de uma instalação WordPress – para os usuários não efetuarem o login novamente, enquanto você faz a manutenção. A desativação do referido arquivo pode ser feita, por exemplo, renomeando-a ou o excluindo temporariamente. Ou ainda fazer uso dos ganchos presentes no arquivo e bloquear o acesso. Fica a seu critério.

Compreendido o cenário e desativado o arquivo wp-login.php, vamos a mágica de efetuar o logout automático dos usuários através do arquivo wp-config.php. Nesse arquivo reside oito constantes em que seus valores são chaves únicas de autenticação e salts. O que precisamos fazer é simples: alterar seus valores e pronto. Observe abaixo um exemplo das constantes:

define('AUTH_KEY',         '-8EC`-zs/Tq%PB/,qgZ*KR/B=xi4 @!j7kMS>@S/=xr+}fk@a[#+(9igd]6p9~ai');
 define('SECURE_AUTH_KEY',  '?=*c+K,Ae<BL]r78 r-GvuX}c{7D8{RuH-?-79SB|_$H%,7#?TPm5[v_aI}#R>+M');
 define('LOGGED_IN_KEY',    'Y5N`FoV, `-MpIZJJ P&o7`gWz/,>^M~+f6C-z2OyNFpD1ikaM#TKR8Z.@0LXc+C');
 define('NONCE_KEY',        'rdCo*:zZRL$ go-4$|x~3IYE6+nh|5,k:zY!^{5aa(j))46iAxZ<+f<;7^?!K5dU');
 define('AUTH_SALT',        ']U`hs /%KJ{paBGLYQ-0+PA{Y/im*|1>Pv77n-rX5~yq<Vxj70</}xu+-MSw.;?a');
 define('SECURE_AUTH_SALT', 'Z-hPlpb/H**#Ox7?4~ml||2zFy?>0w4}1VO:~7o)^-N=,GaGH04bA,~0;rHDFj@L');
 define('LOGGED_IN_SALT',   'jfd /yYi|uIN0F.I2$NfWWx6Bz+0(]i<kA*VU%|2rTR@),uvlgv6lB03|dV8R4Q(');
 define('NONCE_SALT',       ':L-|6*d-QqB|!P0n|OU^mc!/L?+6}-pE8,`52dqa*8N2K|+&&sgO.+*z(1>I=O{v');

O WordPress.org mantém um serviço para gerar essas chaves de forma automática e facilitada. Basta acessar o endereço https://api.wordpress.org/secret-key/1.1/salt/, copiar as chaves e colar no arquivo wp-config.php substitindo as anteriores.

Exemplo de retorno do secret-key service do WordPress.org
Exemplo de retorno do secret-key service do WordPress.org

Com isso, todos os cookies que foram criados serão desvalidados forçando os usuários a efetuarem um novo login.

O arquivo wp-config.php nos permite configurar o WordPress de forma avançada e já abordei o assunto em outra oportunidade no artigo intitulado como Configurações avançadas para o WordPress.

Um abraço e até o próximo.