WordPress как на ладони
rgbcode is looking for WordPress developers. Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

Как сделать единый вход (авторизацию) для поддоменов?

Мне нужно сделать так, чтобы при авторизации (входе) на главный домен, например, example.com авторизация также работала и для всех поддоменов: aaa.example.com, sss.example.com и т.д. Т.е. нужна кроссдоменная авторизация в пределах любых поддоментов.

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

Я что-то не могу найти решение этого впороса в сети. Помогите пожалуйста и посоветуйте как лучше, правильнее и проще это сделать.

Спасибо!

0
Гость
8.5 лет назад
  • 0
    Kama9736

    По умолчанию WordPress прописывает куки авторизации только для текущего домена. Если это под-домен, то только для него.

    Изменить это очень просто. Для этого нужно указать главный домен для которого будут выставляться куки авторизации. Указывать нужно в таком виде: '.example.com'. Это означает, что куки будут работать для всех доменов example.com и всех под-доменов foo.example.com или bar.example.com. Указывается он в файле wp-config.php в константе COOKIE_DOMAIN. Вот так:

    // определим главный домен, не под-домен
    preg_match( '~[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6}$~', getenv('HTTP_HOST'), $mm ); 
    // установим главный домен для всех кук
    define( 'COOKIE_DOMAIN', '.'.$mm[0] );

    COOKIE_DOMAIN используется в функции wp_set_auth_cookie()

    По умолчанию эта константа определяется как false, что значит - для текущего домена. Если используется MU сборка, то COOKIE_DOMAIN определяется так: define( 'COOKIE_DOMAIN', '.' . $current_site->domain);

    Артемий 6.7 лет назад

    Здравствуйте!
    Все хорошо конечно, при авторизации на основном сайте например куки прописываются для .example.com теперь, но на втором сайте то нет автоматической авторизации, кука есть, но авторизации нет..
    Причем если авторизоваться на поддомене и на основном сайте то в куках прописываются совсем разные куки..

    Не подскажете в чем может быть проблема?

    Kama 6.7 лет назад

    Мультисайт установлен?

    TheJema 6.6 лет назад

    нет, а нужно?
    Просто в вопросе и ответе не указано ничего про это

    Kama 6.6 лет назад

    У тебя получается две разные установки WP и ты хочешь одну авторизацию, даже не один и тот же логин/пароль, а именно единую авторизацию? Так не получится, без выеживаний, но сделать конечно можно...

    Ставь мультисайт...

    TheJema 6.6 лет назад

    Ну я пробовал и идентичные базы ставить с одинаковыми таблицами users. Все равно не работает, но в любом случае спасибо!

    Комментировать
  • 0
    chomovva1 chomovva.ru

    Здравствуйте. Подскажите, а для мультисайта в режиме подпапок установка кук работает так же?

    Kama 3.5 лет назад

    Для режима подпапок куки вообще ставятся на всю сеть одни и теже, там же домен один у всех подсайтов.

    chomovva 3.5 лет назад

    Может я что-то не так понимаю, но вп каждый раз запрашивает авторизацию при переключении между сайтами сети.

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация