Единая авторизация нескольких приложений на поддоменах laravel?
Несолько приложений на одном домене .site.com с разными поддоменами, авторизавашись на одном поддомене пользователю можно гулять по другим. Установдена стандартная авторизация ларавела, в файле config/session поставил 'driver' => env('SESSION_DRIVER', 'cookie'), 'cookie' => env('SESSION_COOKIE', 'auth_session'), 'domain' => '.site.com',
Цепляется токен remeber_me, но значения сессии разные, хотя домен везде '.site.com',
Не следует задавать значения конфигов в этих файлах.
Там написано env('SESSION_DRIVER', 'file')
Сделайте переменную в .env файле и там пропишите нужный драйвер.
SESSION_DIRVER=database
Это к проблеме отношения не имеет. но так идеологически правильнее работать с настройками.
Сергей delphinpro, нет, не "правильней". Правильно МЕНЯТЬ дефолтные значениая максимально, что бы .env файл так же был максимально пустой. Это сильно упрощает изменения в .env у команды, работающей над проектом.
В данном случае вообще не имеет смысла устанавливать отличающийся SESSION_DRIVER и SESSION_COOKIE, лучше всего поставить дефолтные значения в конфиге и нигде в .env'е не перебивать.
У меня проблема решилась тем, что завёл в env переменную APP_DOMAIN = site.com и изменил в config/session
'cookie' => env(
'SESSION_COOKIE',
Str::slug(env('APP_NAME'laravel'), '_').'_session'
)
на
'cookie' => env(
'SESSION_COOKIE',
Str::slug(env('APP_DOMAIN', 'laravel'), '_').'_session'
)