Подтвердить что ты не робот

HybridAuth не аутентифицируется при использовании пользовательского пути php-сессии

У меня проблема при использовании плагина HybridAuth. Я включил плагин как всплывающее окно на моей домашней странице. При нажатии кнопки входа на домашней странице плагин загружается в colorbox.

На моем сервере я не могу использовать путь сохранения по умолчанию php session, поэтому я установил его как путь php temp для сохранения сеанса, как показано ниже в index.php моей корневой папки.

$dir = sys_get_temp_dir();
session_save_path($dir);

После обновления этого кода плагин аутентифицирует социальные сети, которые клиент успешно отбирает и возвращается обратно на мой сайт, но не проходит ниже условия,

$hybridauth->isConnectedWith( $_GET["connected_with"] ) // it is always return false

Во втором случае я также обновил путь сохранения сеанса в index.php из папки плагина, но в это время во всплывающем окне входа в систему вместо отображения имени входа в систему он непосредственно показывает страницу с ошибкой, как показано ниже.

"You cannot access this page directly."

Любая помощь будет оценена по достоинству. Спасибо заранее.

4b9b3361

Ответ 1

Как часто: окончательная первоначальная версия RTM и обнаружение использования isConnectedWith

isConnectedWith()Возвращает true или false, если текущий пользователь подключен к данному поставщик. Hybrid_Auth:: isConnectedWith() использует сеансы PHP. Знать подробнее см. раздел "Сеансы HybridAuth".

Hybrid_Auth::isConnectedWith(provider)

Где поставщик - имя тестируемой службы. например: Hybrid_Auth:: isConnectedWith ('Twitter')

Убедитесь, что ваш $_GET возвращает хорошее имя службы.

Если вам нужен список подключенных поставщиков: Hybrid_Auth:: getConnectedProviders()

Если вы хотите проверить данные сеанса: Hybrid_Auth:: getSessionData()

API!

Ответ 2

Проблема заключается в вашем пути сеанса по умолчанию:

$dir = sys_get_temp_dir();
session_save_path($dir);

Я бы распечатал сеансы, чтобы узнать, что зарегистрировано. Почему у вас возникают проблемы с интерфейсом сеанса по умолчанию? Я бы не попытался изменить его и убедиться, что он работает первым. Это изменяет основные функции HybridAuth.

Почему вы не можете использовать путь сохранения php-сессии по умолчанию? вы на общем хосте?

-

Если у вас есть доступ к оболочке, убедитесь, что пользователь веб-сервера имеет доступ на запись в каталог; которые должны позаботиться об этом.

Ответ 3

Добавьте собственный обработчик сеанса в верхней части hybridauth/index.php (расположенный в том же каталоге, что и config.php и live.php). Это заставляет Hybrid Auth использовать ваш пользовательский обработчик сеанса.