Иногда нам нужно использовать один и тот же сеанс входа пользователя во всех поддоменах веб-сайта, таких как www.example.com для blog.example.com или shop.example.com.

Для этого мы можем использовать Атрибут домена файла cookie, который является пятым параметром в функции setcookie в PHP.

$domain = '.example.com';
setcookie($cookieName, $cookieValue, time() + 3600, ‘/’, $domain);

а для JavaScript нам нужно определить функцию для установки файла cookie, который включает атрибут домена.

function setCookie(a, b, c) {
    var domain = 'example.com';
    var d = new Date();
    d.setTime(d.getTime() + c * 60 * 60 * 1000);
    var e = 'expires=' + d.toGMTString();
    var f = 'domain=' + domain + ';path=/';
    document.cookie = a + '=' + b + '; ' + e + ';' + f;
}

Когда пользователь входит в основной домен, мы должны хранить токен входа в файлы cookie с использованием любого метода шифрования.

if($login == true){
   $loginToken = md5(time());
   // TODO :: Store this token into Databse
   // Store this token into Cookie
   $domain = '.example.com';
   setcookie('_loginToken', $loginToken, time() + 3600, ‘/’, $domain); /* expire in 1 hour */
}

Теперь нам нужно получить cookie с помощью суперглобальной переменной $_COOKIE[‘_loginToken’] в PHP.

$loginToken = $_COOKIE['_loginToken'];

получить данные из базы данных и установить сеанс для пользователя.

if(isset($_COOKIE['_loginToken']) && $_COOKIE['_loginToken']!=''){  
    $loginToken = $_COOKIE['_loginToken'];
    // TODO :: get User from database by using login token
    // TODO :: Set session of user
}

Используя эти шаги, один и тот же логин можно использовать в разных доменах.