Saltar al contenido

Laravel: comparte datos de sesión en múltiples dominios

Solución:

  1. Capturar la identificación de la sesión Session::getId() en el dominio A
  2. envíe la identificación de sesión capturada a través de HTTP POST al dominio B
  3. Acceda a la identificación de sesión enviada en el dominio B $sessionid_from_domainA = $_POST['session_from_A']
  4. Establecer sesión en el dominio B Session::setId($sessionid_from_domainA)
  5. Iniciar sesión en el dominio B Session::start()

  1. En el dominio A crea una imagen como esta <img src="https://DOMAINB.com/setcookie?id={{ Session::getId() }}" style="display:none;" />

  2. En el dominio B, cree una ruta así:

.

Route::get('setcookie', function(){
  Session::setId($_GET['id']);
  Session::start();
  return 'Cookie created';
});`
  1. Listo, ahora debería poder obtener su usuario por $user = Auth::User;

Si desea compartir la sesión entre varios subdominios, en ese caso, debe establecer el nombre de dominio config / session.php ha establecido el nombre de dominio.

Ejemplo: si tiene new.example.com y test.example.com, entonces debe establecer el nombre de dominio como example.com

'domain'     => env('SESSION_DOMAIN_URL','.example.com')

Las soluciones allí funcionaron para mí, específicamente configurar el dominio y luego borrar las cookies y el caché de mi navegador.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *