Autenticação do HybridAuth / PHP Facebook SDK falhou (getUser retorna 0)
Estou tentando configurar o HybridAuth e estou nos estágios iniciais. Agora, tudo o que quero fazer é conectar e garantir que o HA seja redirecionado para o facebook e solicitar a instalação do aplicativo, depois autenticar o usuário quando ele voltar.
Eu estou chamando manualmente o seguinte de:http://mydomain.com/auth.php?provider=Facebook
auth.php parece com isso:
<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>
Ele funciona para o Facebook e solicita a instalação do aplicativo correto com as permissões apropriadas. Isso me diz que minha configuração HA está funcionando bem. Eu instalo o aplicativo com sucesso e ele redireciona de volta para a página, onde recebo a mensagem:
<code>Authentification failed! Facebook returned an invalide user id. </code>
O que da? Meu aplicativo mostra 0 adiciona e 0 chamadas de API no painel de controle do FB também (embora esses dados pareçam estar atrasados alguns dias). Estou esperando que o FB ative o aplicativo de alguma forma? Estou fazendo algo errado?
ATUALIZAR
O HybridAuth usa o SDK do Facebook, então tentei eliminar o HA da equação inteira. Executando o seguinte exemplo básico:
<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>
Estou logado no facebook e tenho o aplicativo adicionado, mas não importa o que eu faço o ID do usuário retorna 0. Eu tentei usar os usuários de teste também - sem sucesso. Existe algum problema de configuração do servidor que possa estar faltando aqui?