Cara Mudah Membuat Share Session Multi Apps Pada Laravel

Memungkinkan untuk melakukan share session, cookie pada multi aplikasi pada subdomain yang sama.

1. Pada Aplikasi Pertama

Buat Table Session

Ubah Environtment

2. Pada Aplikasi Kedua

Buat Connection Baru pada config/database.php

    'common_database' => [
        'driver' => 'mysql',
        'url' => env('DATABASE_URL'),
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('COMMON_DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'prefix_indexes' => true,
        'strict' => true,
        'engine' => null,
        'options' => extension_loaded('pdo_mysql') ? array_filter([
            PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
        ]) : [],
    ],

Tambahkan Pada Models\User.php

protected $connection = 'common_database';

Ubah Environtment

Tambahkan Pada Middleware\Authenticate.php

    use Session;
    
    class Authenticate extends Middleware
    {
        
        ****
        
        protected function redirectTo($request)
        {
            Session::setId("cookie name dari applikasi pertama");
            
            Session::start();
            
            ****
        }
    }

Note

Reference

Sekian untuk kali ini semoga bermanfaat :D untuk lebih lanjut bisa kunjungi link tersebut.