Uwierzytelnianie HybridAuth / PHP Facebook SDK nie powiodło się (getUser zwraca 0)
Próbuję skonfigurować HybridAuth i jestem na bardzo wczesnym etapie. W tej chwili wszystko, co chcę zrobić, to połączyć się i upewnić się, że HA przekieruje do Facebooka i poprosi o instalację aplikacji, a następnie uwierzytelni użytkownika, gdy wróci.
Ręcznie dzwonię z następujących elementów:http://mydomain.com/auth.php?provider=Facebook
auth.php wygląda tak:
<code>session_start(); require_once($_SERVER['DOCUMENT_ROOT'] . "/func/db_connect.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/api/auth/Hybrid/Auth.php"); // HybridAuth Module $hybridauth_config = include($_SERVER['DOCUMENT_ROOT'] . '/api/auth/config.php'); if ($_GET['provider'] == '' || !in_array($_GET['provider'], array_keys($hybridauth_config['providers']))) { echo 'Invalid Provider'; } else { try { $hybridauth = new Hybrid_Auth($hybridauth_config); // try to authenticate with this provider $adapter = $hybridauth->authenticate($_GET['provider']); // grab user profile if ($hybridauth->isConnectedWith($f_provider)) { // yep, we're connected. Add this provider's info to the user_auth table echo 'connection successful'; } } catch (Exception $e) { echo $e->getMessage(); } } </code>
Działa w ten sposób, że przekazuje do Facebooka i monituje o zainstalowanie poprawnej aplikacji z odpowiednimi uprawnieniami. To mówi mi, że moja konfiguracja HA działa dobrze. Instaluję aplikację pomyślnie, a następnie przekierowuje z powrotem na stronę, na której otrzymuję wiadomość:
<code>Authentification failed! Facebook returned an invalide user id. </code>
Co daje? Moja aplikacja pokazuje również 0 dodatków i 0 wywołań API w panelu sterowania FB (chociaż dane te wyglądają, jakby mogły być opóźnione o kilka dni). Czy czekam na FB, aby w jakiś sposób włączyć aplikację? czy robię coś źle?
AKTUALIZACJA
HybridAuth korzysta z SDK Facebooka, więc starałem się wyeliminować HA z całego równania. Uruchamianie następującego podstawowego przykładu:
<code>session_start(); require($_SERVER['DOCUMENT_ROOT'] . "/path/to/fbsdk/facebook.php"); $facebook = new Facebook(array( 'appId' => 'myappid', 'secret' => 'myappsecret', 'fileUpload' => true )); $user = $facebook->getUser(); var_dump($user); </code>
Jestem zalogowany na facebooku i dodałem aplikację, ale niezależnie od tego, co robię, ID użytkownika zwraca 0. Próbowałem również użyć użytkowników testowych - bezskutecznie. Czy jest jakiś problem z konfiguracją serwera, którego tutaj brakuje?