Posibilidad de sincronizar registros en Ruby on Rails y PHP

Raúl Yañez Alonso
19 de Julio del 2011
Hola,
Tengo una página en Ruby on Rails y el foro se indexa fatal.
Me gustaría montar un foro en vbulletin en un subdominio pero no se si se puedo integrarlo de alguna forma que al logearte o registrarte en cualquiera de las dos plataformas te logees o te registres en la otra también. Es decir, que el usuario no se de cuenta que está cambiando de plataforma ni tenga que volver a logearse al cambiar del foro (vbulletin) a la pagina (ruby on Rails) y viceversa...
Es posible? alguien sabe? alguien me da presupuesto?

David Carrero
12 de Agosto del 2026

Un SSO totalmente transparente entre dos aplicaciones separadas (tu Rails y un vBulletin en subdominio) casi nunca sale "gratis" con configuración, siempre implica que una de las dos plataformas hable directamente con el sistema de sesión de la otra. No hay conector plug-and-play para esto, pero hay dos caminos razonables:

1. vBulletin como el sistema de autenticación externa: vBulletin trae desde hace tiempo un sistema de "external authentication" (hook OpenID/autenticación externa) pensado justo para esto, donde delegas el login en otro sistema. Tendrías que implementar en Rails un endpoint que vBulletin pueda consultar para validar usuario/contraseña contra tu tabla de usuarios de Rails.

2. Rails escribe directamente en la tabla de sesión de vBulletin: cuando un usuario hace login en tu app Rails, tu controlador de login inserta también una fila en la tabla session de la base de datos de vBulletin (con el userid, sessionhash, host, etc. que espera vBulletin) y setea la cookie bb_sessionhash con el dominio compartido entre subdominios. vBulletin, al recibir esa cookie, la valida contra su propia tabla y ve al usuario como logueado, sin que haya pasado por su formulario de login.

La opción 2 es más frágil (depende de la versión exacta de vBulletin y su esquema de sesión, que puede cambiar entre versiones), pero es la que da la experiencia más transparente para el usuario. La opción 1 es más robusta a largo plazo porque usa un mecanismo pensado para esto, aunque requiere más trabajo de integración inicial.

David