Программирование, веб-кодинг

Одновременная авторизация Yii2 на поддоменах. Cookies на поддоменах

Создал отдельный сайт на поддомене. Возникла ситуация, когда на главном домене авторизуюсь в личный кабинет, а потом открываю сайт на поддомене, то нужно здесь снова авторизоваться для этого сайта на поддомене. Нужно настроить единую авторизацию на всех поддоменах основного сайта.

Одновременная авторизация Yii2 на поддоменах. Cookies на поддоменах

Для примера возьмем два сайта site.ru и en.site.ru.

Для сквозной авторизации на поддоменах достаточно поправить конфигурацию вашего приложения Yii2:

'components' => [
    ...
    'user' => [
    ...
        'identityCookie' => [ // <---- here!
            'name' => '_identity',
            'httpOnly' => true,
            //'path' => '/',
            'domain' => '.site.ru',
        ],
        '''
    ],
...

Мы прописали домен для COOKIE, что позволяет авторизационным данным сохраняться как на основном домене, так и на поддомене.

После этого было замечено, что в случае выхода с сайта (Yii::$app->user->logout()) — пользователь остается авторизованным на другом домене. Проблема решается аналогично как и для Yii1 — добавлением пары строчек в конфигурацию:

'components' => [
    ...
    'session' => [
        'cookieParams' => [
            'domain' => '.site.ru',
            'httpOnly' => true,
            //'path' => '/',
        ],
        'name' => 'PHPBACKSESSID',
    ],
    ...



По мотивам – https://ittricks.ru/programmirovanie/1023/odnovremennaya-avtorizaciya-yii2-na-poddom


Читайте также
6 ноября 2017
Обновления и релизы
Yii 2.0.13
2 ноября 2017 вышла новая обновлённая версия Yii 2.0.13 с 60-тью улучшениями и исправлениями косяков.


6 октября 2017
... Программирование, веб-кодинг
Сессии в Yii 2
Для сохранения пользовательских данных между запросами используются сессии