¿Dónde se almacena la sesión en WordPress?

11 abr 2015, 19:47:18
Vistas: 19K
Votos: 2

Necesito poder validar la integridad de la sesión desde una aplicación externa. ¿No puedo encontrar dónde se almacena la sesión en WordPress?

Construí una aplicación RESTful que recibirá el token de sesión como encabezado y me gustaría poder cargar el usuario asociado a esa sesión. ¿Es eso posible? Estoy seguro de que sí, simplemente no puedo encontrarlo en ninguna parte. Intenté buscar en el código pero me pierdo rápidamente... ¿Alguien puede al menos indicarme en qué tabla debería buscar?

0
Todas las respuestas a la pregunta 2
1

Cómo WordPress almacena cookies (del lado del cliente, como mencionó @birgire): https://codex.wordpress.org/WordPress_Cookies

Dudo que esto funcione desde un subdominio separado, ya que el dominio de la cookie generalmente está completamente calificado según la siteurl de WordPress (si alguien sabe lo contrario, que me corrija).

Si lo hicieras con otra aplicación en el mismo dominio, necesitarías usar la función wp_validate_auth_cookie() (en wp-includes/pluggable.php), que examina $_COOKIES, genera un hash a partir del registro del usuario en la base de datos y verifica si coincide con la cookie. Si coincide, obtendrás su ID de usuario.

11 abr 2015 20:59:36
Comentarios

¿Quizás la constante COOKIE_DOMAIN sea útil aquí?

birgire birgire
13 abr 2015 03:19:22
3

Las sesiones de WordPress se almacenan según la configuración de PHP, por defecto en el sistema de archivos. Revisa tu archivo PHP.ini para la configuración session.save_path. Debes tener en cuenta que WordPress no crea una sesión a menos que el usuario inicie sesión.

Suponiendo que tu aplicación "externa" esté en el mismo servidor y se ejecute como PHP, podrías simplemente abrir la misma sesión usando:

session_id($session_token);
session_start();
11 abr 2015 20:00:35
Comentarios

WordPress no almacena sesiones del lado del servidor para usuarios conectados, sino que utiliza cookies del lado del cliente, según mi conocimiento. ¿Puedes elaborar más?

birgire birgire
11 abr 2015 20:20:35

Está en el mismo servidor, en un subdominio diferente. ¿Cómo me permitiría eso cargar la sesión? Gracias por tu respuesta.

Dude from ticketing world Dude from ticketing world
11 abr 2015 20:20:45

@birgire Yo también sabía eso. Pero después de la respuesta de Oliver, ahora tengo dudas. +1 por tu comentario.

Mayeenul Islam Mayeenul Islam
12 abr 2015 06:41:53