HybridAuth на поддоменах
Здравствуйте.
При использовании HybridAuth на поддомене возникла следующая проблема. При логине через любой соц. сервис сайт редиректился на тот же адрес, но уже основного домена. Долго дебажил код самого HybridAuth и оказалось этот адрес он получает так:
В принципе данная проблема решается через установку в nginx
Поддомены у сервера устанавливаются так:
При использовании HybridAuth на поддомене возникла следующая проблема. При логине через любой соц. сервис сайт редиректился на тот же адрес, но уже основного домена. Долго дебажил код самого HybridAuth и оказалось этот адрес он получает так:
public static function getCurrentUrl( $request_uri = true )
{
if(
isset( $_SERVER['HTTPS'] ) &&
( $_SERVER['HTTPS'] == 'on' || $_SERVER['HTTPS'] == 1 )
|| isset( $_SERVER['HTTP_X_FORWARDED_PROTO']) &&
$_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https'
){
$protocol = 'https://';
}
else {
$protocol = 'http://';
}
$url = $protocol . $_SERVER['SERVER_NAME'];
// use port if non default
$url .=
isset( $_SERVER['SERVER_PORT'] )
&&( ($protocol === 'http://' && $_SERVER['SERVER_PORT'] != 80) ||
($protocol === 'https://' && $_SERVER['SERVER_PORT'] != 443) )
? ':' . $_SERVER['SERVER_PORT']
: '';
if( $request_uri ){
$url .= $_SERVER['REQUEST_URI'];
}
else{
$url .= $_SERVER['PHP_SELF'];
}
// return current url
return $url;
}В моем случае он возвращал $_SERVER['SERVER_NAME'], а он оказался равен именно домену, а не поддомену.В принципе данная проблема решается через установку в nginx
fastcgi_param SERVER_NAME $http_host;но кажется это как-то неправильно…Поддомены у сервера устанавливаются так:
server_name domen.ru *.domen.ru;
set $proot "/var/www/domen.ru";
if ( $host ~* ^((.*).domen.ru)$ ) {
set $proot /var/www/$1;
break;
}
root $proot;Как правильно решить такую проблему?
Техническая поддержка MODX
Сайт лежит, тормозит или остался без разработчика?
Переезд с MODX 2 на 3, PHP 7 на 8, скорость и безопасность. Поддержка со сроками и ответственностью, а не совет в чате.
Подробнее
Реклама
Комментарии: 1
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Менять исходники библиотеки однозначно не хорошо.