2014-07-04 16 views
17

Występuje problem podczas korzystania z wtyczki HybridAuth. Załączam wtyczkę jako wyskakujące okienko na mojej stronie głównej. Po kliknięciu przycisku logowania ze strony głównej wtyczka zostanie wczytana do Colorbox.HybridAuth nie uwierzytelnia się podczas używania niestandardowej ścieżki sesji php.

Na moim serwerze nie mogę użyć domyślnej ścieżki zapisu sesji php, dlatego ustawiłem ją jako ścieżkę php temp do zapisywania sesji jak poniżej w index.php w folderze głównym.

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

Po aktualizacji tego kodu, wtyczka jest autentyczną social media, że ​​klient wybieranie powodzeniem i powrót do mojej strony, ale nie przechodzi stan poniżej,

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

W drugim przypadku I zaktualizował również ścieżkę zapisu sesji w index.php folderu wtyczki, ale w tym czasie w okienku logowania zamiast wyświetlać interfejs logowania, jest bezpośrednio wyświetlana strona błędu podobna do poniższej:

"You cannot access this page directly." 

Każda pomoc będzie doceniona. Z góry dziękuję.

+0

Otrzymuję również ten sam błąd. Czy ktoś może szybko to poprawić? – Sree

+1

@ user2916075: Może to nie jest przechowywanie sesji użytkownika, którą próbujesz zalogować. Czy sprawdziłeś, czy sesja istnieje po przekierowaniu do Twojej witryny? –

+0

[Włącz debugowanie] (http://hybridauth.sourceforge.net/userguide/Debugging_and_Logging.html) i daj nam szansę zobaczenia, co API mówi, że jest problem. Mogę się założyć, że zobaczysz "PHP session.name diff z domyślnego PHPSESSID." – Zombiesplat

Odpowiedz

1

Jak często: RTM and discover the use of isConnectedWith

isConnectedWith() Zwraca true lub false jeśli bieżący użytkownik jest podłączony do danego dostawcy. Hybrid_Auth :: isConnectedWith() używa PHP Sessions. Więcej informacji na temat znajduje się w sekcji HybridAuth Sessions.

Hybrid_Auth::isConnectedWith(provider) 

Gdzie dostawca jest nazwą testowanej usługi. np .: Hybrid_Auth :: isConnectedWith ("Twitter")

Upewnij się, że $ _GET zwraca dobrą nazwę usługi.

Jeśli chcesz listę podłączonych dostawców: Hybrid_Auth :: getConnectedProviders()

Jeśli chcesz sprawdzić dane teleadresowe sesja za: Hybrid_Auth :: getSessionData()

API!

1

Problemem jest domyślna ścieżka sesja:

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

bym print_r sesje, aby zobaczyć co został zarejestrowany. Dlaczego masz problemy z domyślną ścieżką sesji? Nie spróbowałbym tego zmienić i upewnić się, że to działa pierwsze. To zmienia główną funkcjonalność HybridAuth.

Dlaczego nie można użyć domyślnej ścieżki zapisu sesji php? jesteś na wspólnym hoście?

-

Jeśli masz dostęp do powłoki upewnić się, że serwer WWW użytkownik ma prawo zapisu do katalogu; to powinno zająć się problemem.

0

Dodaj własną niestandardową procedurę obsługi sesji u góry hybridauth/index.php (znajdującą się w tym samym katalogu, co config.php i live.php). Wymusza to hybrydowe uwierzytelnianie, aby użyć niestandardowej procedury obsługi sesji.

Powiązane problemy