Step 1: Install Session Driver for Shared Session Data
, .
2:
Laravel. - , cookie . - : domain2.tld/? Session_token = abcds2342
- , , / ( ) . , :
session_id('abcds2342');
session_start();
, IP-, - elses SessionID , ,
2A. , StartSession. getSession , session_id cookie, , . :
<?php
namespace App\Http\Middleware;
use Illuminate\Session\Middleware\StartSession;
use Illuminate\Http\Request;
use App\SessionShare;
use Closure;
class StartSessionWithSharer extends StartSession
{
public function getSession(Request $request)
{
$session = $this->manager->driver();
if($request->get('session_token') && !empty($request->get('session_token'))) {
$sessionShare = SessionShare::valid()->whereToken($request->get('session_token'))->first();
if($sessionShare)
$session_id = $sessionShare->session_id;
}
if(!isset($session_id) || !$session_id)
$session_id = $request->cookies->get($session->getName());
$session->setId($session_id);
return $session;
}
}
2B. , SessionServiceProvider :
<?php namespace App\Providers;
class CustomSessionServiceProvider extends \Illuminate\Session\SessionServiceProvider
{
public function register()
{
$this->registerSessionManager();
$this->registerSessionDriver();
$this->app->singleton('App\Http\Middleware\StartSessionWithSharer');
}
}
SessionServiceProvider config/app.php .
2C: App\SessionShare . , IP-, , .
2D: , , , get session_token
, . , . , , ( 2C)