ОК, я пытаюсь использовать Hybridauth с laravel 4. Однако, похоже, я получаю очень распространенное при попытке войти в систему через facebook:
Аутентификация не удалась! Facebook вернул неверный идентификатор пользователя.
Я прочитал все остальные сообщения, и мне не повезло, поэтому просто надеюсь, что кто-то сможет мне помочь.
Я следовал этому руководству: http://www.mrcasual.com/on/coding/laravel4-package-management-with-composer/
И пробовал несколько других конфигураций без успеха.
Вот мой конфиг/hybridauth.php
<?php
return array(
"base_url" => "http://myapp.dev/social/auth/",
"providers" => array (
"Facebook" => array (
"enabled" => true,
"keys" => array ( "id" => "****", "secret" => "****" ),
),
),
);
И вот мой маршрут:
Route::get('social/{action?}', array("as" => "hybridauth", function($action = "")
{
// check URL segment
if ($action == "auth") {
// process authentication
try {
Hybrid_Endpoint::process();
}
catch (Exception $e) {
// redirect back to http://URL/social/
return Redirect::route('hybridauth');
}
return;
}
try {
// create a HybridAuth object
$socialAuth = new Hybrid_Auth(app_path() . '/config/hybridauth.php');
// authenticate with Facebook
$provider = $socialAuth->authenticate("Facebook");
// fetch user profile
$userProfile = $provider->getUserProfile();
}
catch(Exception $e) {
// exception codes can be found on HybBridAuth's web site
return $e->getMessage();
}
// access user profile data
echo "Connected with: <b>{$provider->id}</b><br />";
echo "As: <b>{$userProfile->displayName}</b><br />";
echo "<pre>" . print_r( $userProfile, true ) . "</pre><br />";
// logout
$provider->logout();
}));
Итак, когда я получаю доступ к «myapp.dev/social», меня перебрасывают на страницу регистрации в facebook, все работает нормально, просит разрешить разрешения для myadd.dev. После того, как я нажму OK, я попаду на следующий URL: http://myapp.ie/social#_=_
, где отображается ошибка.
Не уверен, что это актуально: просто наблюдая за другими сайтами, которые сотрудничают с входом в facebook ... URL-адрес перенаправления выглядит примерно так http://somesite.dev/subdomain/#_=_
. Другими словами, у них есть косая черта перед #=. Это моя проблема, как мне это исправить?? Очень новичок в hybridauth, поэтому спасибо за любую помощь.
О, я понимаю, что этот пост очень похож на другие посты, но мне еще предстоит найти решение.
ОБНОВЛЕНИЕ: точная ошибка: Authentification failed. The user has canceled the authentication or the provider refused the connection.