Предложение по улучшению HybridAuth
По разным причинам метод Hybrid_Auth::redirect может получить пустую строку в качестве первого параметра, что приводит к формированию HTTP Header «Location:», который приводит к бесконечному редиректу в Firefox. Предлагаю добавить несколько строк, решающие эту неприятную проблему:
/**
* Utility function, redirect to a given URL with php header or using javascript location.href
*/
public static function redirect( $url, $mode = "PHP" )
{
Hybrid_Logger::info( "Enter Hybrid_Auth::redirect( $url, $mode )" );
if ($url == '') {
Hybrid_Logger::info( "Hybrid_Auth::redirect - $url is empty, replacing with default" );
$url = '/';
}
if( $mode == "PHP" ){
header( "Location: $url" ) ;
}
elseif( $mode == "JS" ){
echo '<html>';
echo '<head>';
echo '<script type="text/javascript">';
echo 'function redirect(){ window.top.location.href="' . $url . '"; }';
echo '</script>';
echo '</head>';
echo '<body onload="redirect()">';
echo 'Redirecting, please wait...';
echo '</body>';
echo '</html>';
}
die();
}
// --------------------------------------------------------------------
Комментарии: 2
Это не ко мне, это в репозиторий HybridAuth.
Ок!
Также выяснилась проблема с входом через Facebook в случае, когда пользователь не залогинен в Facebook; эта проблема существует и на Hybridauth demo: oyanix.com/opensource/hybridauth/social_hub/login.php Предложу свое решение проблемы.
Также выяснилась проблема с входом через Facebook в случае, когда пользователь не залогинен в Facebook; эта проблема существует и на Hybridauth demo: oyanix.com/opensource/hybridauth/social_hub/login.php Предложу свое решение проблемы.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.