Tenemos un par de aplicaciones de Django implementadas en el mismo subdominio. Algunos usuarios avanzados deben saltar entre estas aplicaciones. Noté que cada vez que rebotan entre las aplicaciones, su cookie de sesión recibe una nueva ID de sesión de Django.¿Cómo obtener distintas aplicaciones de Django en el mismo subdominio para compartir cookies de sesión?
No uso mucho la tabla de sesiones de Django excepto en un flujo de trabajo complejo. Si el usuario rebota entre las aplicaciones mientras está en este flujo de trabajo, pierde su sesión y tiene que comenzar de nuevo.
Cavé a través del código de sesión Django y descubrieron que la:
django.conf.settings.SECRET_KEY
se utiliza para realizar una comprobación de integridad en las sesiones sobre cada solicitud. Si la verificación de integridad falla, se crea una nueva sesión. Al darme cuenta de esto, cambié la clave secreta en cada una de estas aplicaciones para usar el mismo valor, pensando que esto permitiría pasar la verificación de integridad y permitirles compartir sesiones de Django. Sin embargo, no pareció funcionar.
¿Hay alguna manera de hacerlo? ¿Me estoy perdiendo algo más?
Gracias de antemano
+1: mueva las credenciales entre las sesiones de Django. –
Esa es una buena sugerencia. Lo intentaré. Para el SSO, se trata de aplicaciones internas que se integran con una aplicación PHP heredada que se encarga de la autenticación en la sesión de PHP, por lo que no debería ser un problema. Realmente solo necesito que las aplicaciones de Django no pisen la sesión de los demás en este momento. Thx –
Esto hizo el truco.Ahora me siento un poco tonto porque no lo consideré :) –