No se puede iniciar sesión y wp-login.php redirige a wp-admin%2F&reauth=1?
Estoy teniendo dificultades para iniciar sesión en mi sitio WordPress. Cuando intento visitar example.com/wp-admin, veo una página en blanco y la barra de URL cambia a:
http://example.com/wp-login.php?redirect_to=http%3A%2F%2Fmysite.com%2Fwp-admin%2F&reauth=1
Si visito example.com/wp-login.php, solo veo una página blanca sin ningún cambio en la URL.
He confirmado que esto no es un problema con nada en mi máquina local ya que el comportamiento persiste en múltiples navegadores y dispositivos.
He encontrado numerosas publicaciones en foros sobre el problema, pero ninguna ofrece una solución satisfactoria.
Por favor, ayuda ya que necesito actualizar urgentemente el contenido del sitio.
Actualización: Activé la depuración de WordPress y veo el siguiente error
Fatal error: Cannot redeclare check_password_reset_key()
(previously declared in /home/wordpress/public_html/wp-login.php:281)
in /home/wordpress/public_html/wp-includes/user.php on line 1637
Cualquier consejo sobre cómo arreglar esto sería muy apreciado

No estoy seguro de por qué esto fue votado negativamente... después de eliminar el session_token, también usé el modo incógnito. Necesitaré limpiar la caché de Chrome también, pero el modo incógnito ayudó a resolver el problema al mostrar que parte del problema era el navegador.
Chrome tiene una caché despiadada y a menudo está en el centro de problemas como este.

Una combinación de limpiar las cookies del sitio en cuestión Y limpiar la caché del navegador (por ejemplo, archivos locales) funcionó para mí... que es básicamente lo que hacen las pestañas privadas de todos modos. Ni siquiera tuve que purgar las sesiones de usuario... en este caso, cuando iniciaste sesión en la pestaña privada probablemente reinició la sesión en la base de datos, pero probablemente no sea necesario en la mayoría de los casos.

Existen muchas posibles causas para este problema. Algunas tienen que ver con tu base de datos. Intenta activar WP_DEBUG e interpretar los mensajes de error.
En mi caso particular (y así es como llegué a tu pregunta aquí), el problema era escribir un token de sesión en usermeta. Entré en PhpMyAdmin > wp_usermeta > y eliminé el meta_value para session_token. (Historia detallada aquí https://wordpress.org/support/topic/possible-fix-for-sudden-redirect-loop-at-wp-login-with-reauth1)

Esto, junto con borrar la caché de tu navegador, debería ser la respuesta aceptada.

Usé una consulta como esta `UPDATE wp_usermeta SET meta_value='' WHERE meta_key='session_tokens' AND user_id=<mi_id_de_usuario>;

En mi caso, session_tokens
ni siquiera estaba establecido para mi usuario. O más específicamente, el user_id
había sido cambiado a un número aleatorio por alguna razón. No tengo idea de cómo sucedió. Así que asegúrate de que realmente exista una línea en wp_usermeta con tu user_id y meta_key=session_tokens

¡Muchas gracias! Había modificado la URL principal de mi sitio en una configuración multisitio de WordPress. Solo podía iniciar sesión en modo incógnito: eliminar todas las cookies de mi dominio y limpiar la caché no ayudó. Eliminé el valor de session_tokens
en la tabla wp_usermeta
y eso solucionó mi problema :) ¡Bien hecho señor!

Cada vez que tienes un redireccionamiento de http://misitio
a http://misitio/
, esto está destinado a suceder. En mi caso, tengo un proceso httpd de gestión en ejecución que tiene varios hosts virtuales. Uno estaba configurado de la siguiente manera:
<VirtualHost *:*>
ServerName misitio.com
ProxyPass "/blog" "http://bloghtml/blog/"
ProxyPreserveHost On
</VirtualHost>
Cambiar "/blog"
por "/blog/"
soluciona el problema.

Resolví este problema definiendo las claves de seguridad en wp-config.php
:
define('AUTH_KEY', '');
define('SECURE_AUTH_KEY', '');
define('LOGGED_IN_KEY', '');
define('NONCE_KEY', '');
define('AUTH_SALT', '');
define('SECURE_AUTH_SALT', '');
define('LOGGED_IN_SALT', '');
define('NONCE_SALT', '');
Por alguna razón estaban vacías... Reemplaza las cadenas vacías por algunas generadas aquí: https://api.wordpress.org/secret-key/1.1/salt/ (gracias Josh Rodgers)

No cadenas aleatorias como contraseñas... WordPress puede regenerar esto por ti aquí: https://api.wordpress.org/secret-key/1.1/salt/

En mi caso esos valores no están vacíos. ¿Debo cambiarlos por los valores en https://api.wordpress.org/secret-key/1.1/salt/?

También tuve este problema pero con un mensaje diferente. Después de probar una miríada de soluciones: htaccess, renombrar plugins, renombrar el tema, verificar espacios en blanco en wp-config.php, todavía estaba estancado.
Al iniciar sesión en PHPMyAdmin intenté optimizar las tablas pero obtuve un error de acceso denegado. Resultó que la base de datos en sí era demasiado grande y luego fue "bloqueada" por el hosting compartido. Después de encontrar el principal culpable (una tabla de registros de Wordfence) la truncé, esperé 30 minutos y ¡voilá!, todo volvió a funcionar.
¡Pensé que esto podría ayudar a alguien más que esté completamente atascado después de probar todas las demás opciones sugeridas!

Ninguna de las soluciones anteriores me funcionó.
Después de activar el modo de depuración:
define('WP_DEBUG', true);
en el archivo wp-config.php
El sitio me mostraba problemas de permisos con el usuario de la base de datos...
Lo que sí funcionó para mí fue volver al usuario root de la base de datos (en lugar de un usuario 'web' con menos permisos).
Obviamente no es una solución a largo plazo pero te da otra opción para probar que podría funcionarte.

Me gustaría contribuir a la comunidad y ya que este problema fue muy molesto. Ninguna de las soluciones funcionó para mí. No instalé ningún plugin antes de que sucediera, así que definitivamente creo que es un error de WordPress.
Mis errores exactos: A través del depurador WP. Después de la pantalla de inicio de sesión apareció una pantalla en blanco con este error.
Fatal error: Class 'PasswordHash' not found in /var/www/public_html/example.net/wp-includes/pluggable.php on line 2079
A través del registro de errores de Apache.
PHP Fatal error: Class 'PasswordHash' not found in /var/www/public_html/example.net/wp-includes/pluggable.php on line 2138, referer: http://example.net/wp-login.php?redirect_to=http%3A%2F%2Fexample.net%2Fwp-admin%2F&reauth=1
Cómo resolví el problema: 1. En la base de datos edité mi contraseña de administrador a texto plano. 2. Agregué estas líneas de código a pluggable.php. Básicamente ahora WP reconoce contraseñas sin hash. Aquí están los extractos editados de pluggable.php
function wp_check_password($password, $hash, $user_id = '') {
<------>global $wp_hasher;
<------>//20170713 Added by Stefan
<------>$check=($hash==$password);
<------>return apply_filters('check_password', $check, $password, $hash, $user_id);
... y un poco más abajo
function wp_set_password( $password, $user_id ) {
<------>global $wpdb;
<------>//$hash = wp_hash_password( $password );
<------>//20170713 Changed by Stefan
<------>$hash=$password;
Espero que esto ayude a alguien, porque buscar en Google no me ayudó.

Desde entonces todo ha funcionado sin problemas hasta hoy, cuando tuve que crear un nuevo blog en mi instalación multisitio y, como el script necesita agregar un usuario y su contraseña, fue necesario comentar un poco más para eliminar completamente el hashing de contraseñas. Solo para que lo sepan.

Tuve el mismo problema pero no pude solucionarlo después de pasar demasiado tiempo. Obtuve esta respuesta de aquí http://www.wpbeginner.com/wp-tutorials/how-to-fix-wordpress-login-page-refreshing-and-redirecting-issue/. Resulta que es solo un problema de cookies, necesitamos borrar las cookies del navegador y habilitarlas nuevamente, y eso es todo.

Solucioné esto usando https:// para acceder a mi sitio web en lugar de http://, de esa manera no obtuve ninguna redirección. https://my_website.com/admin También puedes cambiar los valores de "siteurl" y "home" en la tabla de opciones a través de phpmyadmin en el cpanel para que apunten a https. Observé que esto podría ser un problema con el SSL que no redirige correctamente.

Experimenté este problema después de migrar mi sitio de un servidor a otro. Después de importar la base de datos al nuevo servidor, no pude iniciar sesión. En el nuevo servidor aún no había habilitado SSL para el sitio, así que tuve que cambiar las opciones siteurl y home en la base de datos.
Solución
- Lo solucioné yendo a la base de datos y cambiando siteurl y home de
https://
ahttp://
dentro de la tablawp_options
.
Esto podría ayudar a otros.

Intenta eliminar la cadena de consulta en la URL ("?" y todo lo que viene después) - es decir: visita wp-login.php directamente. Funcionó para mí. Intenté cambiar la contraseña, cambiar los salts, limpiar el meta_value para session_tokens en wp_usermeta. Nada de eso funcionó.
Lo siento, sé que esto no te ayuda, ya que dices que tu pantalla de wp-login.php está en blanco, pero podría ayudar a alguien que como yo llegó aquí atraído por el titular.

Acabo de pasar por lo mismo. Sin éxito al limpiar la caché, .htaccess, limpiar sesiones de la base de datos, desactivar plugins por FTP, etc. Pude iniciar sesión en el modo incógnito de Chrome. Después de eso, todavía no podía iniciar sesión normalmente. Limpiar solo la caché del navegador no funcionó, tuve que eliminar específicamente todas las cookies relacionadas con el dominio.
Ajustes > Mostrar configuración avanzada > Configuración de contenido >
En Configuración de privacidad, haz clic en el botón "Configuración de contenido"
En Cookies, haz clic en el botón "Todas las cookies y datos del sitio"
Luego busca tu sitio web usando una palabra clave en el cuadro de búsqueda: Resalta tu sitio web y presiona Eliminar en tu teclado.
Haz clic en Listo e intenta iniciar sesión en tu sitio nuevamente (en modo normal... es decir, simplemente cierra la ventana del modo incógnito)
Si ya tenías el sitio abierto en otra pestaña, obtendrás un error de cookie. Cierra todas las pestañas, vuelve a abrir, inicia sesión y disfruta

Las instrucciones aquí funcionaron para mí => https://core.trac.wordpress.org/attachment/ticket/37071/fix-wp-login-error.patch
