Страницы

Поиск по вопросам

среда, 12 февраля 2020 г.

Кросс доменная авторизация на yii2

#php #yii2 #framework


Всем привет!
Возникла такая проблема, нужно реализовать кросс доменную авторизацию.
Схема такая:
1. На первом домене(user.mysite.com) находится личный кабинет пользователя который
работает на yii2 и через который будет проходить авторизация.
2. На втором домене(mysite.com) находится интернет магазин на "самописном" движке
который должен работать с авторизированным пользователем. 
 
3. БД у них одна.
4. Лежат на одном сервере, в соседних каталогах.
5. должна быть реализована опция "запомнить меня"

Подскажите, можно ли это заставить работать? И как это лучше сделать?
    


Ответы

Ответ 1



В конфиге 'user' => [ 'identityClass' => 'common\models\User', 'enableAutoLogin' => true, 'identityCookie' => [ 'name' => '_identity', 'httpOnly' => true, 'domain' => '.' . DOMAIN, ], ], 'session' => [ 'cookieParams' => [ 'domain' => '.' . DOMAIN, 'httpOnly' => true, ], ], В index.php defined('DOMAIN') or define('DOMAIN', 'mysite.com'); Куки будут общими для домена и сабдоменов

Ответ 2



Надо чтобы на обоих доменах совпадали класс аутентификации, вероятно так и есть, если используются родные механизмы Yii; домен, где сохраняется аутентификационная кука. в настройках сайта на под-домене укажите родительский домен; база с пользовательскими аккаунтами. вы сказали, что БД общая - ок. На всякий случай скажу: Не тестируйте это на домене localhost. Браузеры чудят с куками на доменах первого уровня. Если надо испытать локально, заведите в hosts синоним для локалхоста, типа localhost.com. Обратите внимание в настройках на точку перед именем домена, это каноническая форма! См. http://yiiframework.ru/doc/cookbook/ru/install.cookie.subdomains https://stackoverflow.com/questions/29378697/automagically-log-into-multiple-domains-in-yii2

Комментариев нет:

Отправить комментарий