Авторизация для поддоменов и домена

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Закрыто
bakhur
Сообщения: 202
Зарегистрирован: 2015.03.04, 10:56

Авторизация для поддоменов и домена

Сообщение bakhur »

Здравствуйте, кто-нибудь может подсказать как сделать единую авторизацию для домена и поддоменов?
Аватара пользователя
zabachok
Сообщения: 522
Зарегистрирован: 2013.12.16, 14:38

Re: Авторизация для поддоменов и домена

Сообщение zabachok »

Ну как бы супер изи это.
2b||!2b Just read the instructions
Nerf
Сообщения: 780
Зарегистрирован: 2015.01.29, 00:37

Re: Авторизация для поддоменов и домена

Сообщение Nerf »

Если будет вход по кукам не забудьте, что cookieValidationKey должен быть одинаковым для всех приложений. Об этом часто не пишут.
bakhur
Сообщения: 202
Зарегистрирован: 2015.03.04, 10:56

Re: Авторизация для поддоменов и домена

Сообщение bakhur »

получилось сделать вот так

Код: Выделить всё

'user' => [
            'identityClass' => 'common\modules\user\models\User',
            'enableAutoLogin' => true,
            'loginUrl' => ['/main/page/login'],
            'identityCookie' => [
                'name' => '_identity',
                'httpOnly' => true,
                'path' => '/',
                'domain' => '.rent-map.loc',
            ],
        ],
        'session' => [
            'cookieParams' => ['domain' => '.rent-map.loc'],
        ], 
но возникла другая проблема. не работает сейчас авторизация через соц сеть. Авторизацию через соц сеть делаю вот так

Код: Выделить всё

      $user = User::findByEAuth($service);
                    if($user) {
                        if($user->status != User::STATUS_ACTIVE) {
                            Yii::$app->session->setFlash('danger',Yii::t('main', 'Go to your email {email} and confirm registration', ['email' => $identity->email]));
                        } else {
                            Yii::$app->getUser()->login($user);
                        }
                        $service->redirect();
                    } 
смысл в том что в попап окне происходит авторизация, срабатывает $service->redirect() попап закрывается, основное окно перезагружается и никакой авторизации уже нет. как можно решить эту проблему?
bakhur
Сообщения: 202
Зарегистрирован: 2015.03.04, 10:56

Re: Авторизация для поддоменов и домена

Сообщение bakhur »

Если включена только identityCookie
Сейчас вот что заметил. Если авторизуюсь через обычную форму, то у меня создаётся кука нужная http://prntscr.com/au9jjf , а если авторизуюсь через соц сеть, то данной куки нет( авторизация происходит просто на данном домене(если авторизоваться на поддомене, то происходит авторизация на самом домене). может вообще всё дело в этой куке и её при авторизации через соц сеть вручную создавать? Хотя интересно почему она сама не создаётся. авторизация делается по той же схеме через login()

А если подключаю ещё и session в конфиге, то авторизация через соц сети вообще не работает.. может кто знает в чём дело?
bakhur
Сообщения: 202
Зарегистрирован: 2015.03.04, 10:56

Re: Авторизация для поддоменов и домена

Сообщение bakhur »

Кажется я столкнулся с мистикой))
сейчас вот при тех же данных на локале всё работает и авторизация через соц сети и через форму

Код: Выделить всё

'user' => [
            'identityClass' => 'common\modules\user\models\User',
            'enableAutoLogin' => true,
            'loginUrl' => ['/main/page/login'],
            'identityCookie' => [
                'name' => '_identity',
                //'httpOnly' => true,
                'path' => '/',
                'domain' => '.rent-map.loc',
            ],
        ],
        'session' => [
            'cookieParams' => [
                'domain' => '.rent-map.loc',
            ],
        ],
 
а вот на серваке где у меня протокол https ни форма ни соц сети не хотят авторизовывать. Может для https нужно что-то настроить?
Закрыто