ОК, я пытаюсь использовать Hybridauth с Laravel 4. Однако я, кажется, становится очень распространенным при попытке войти в систему с Facebook:laravel4 hybridauth facebook Ошибка аутентификации! Facebook вернул недопустимый идентификатор пользователя
Authentication failed! Facebook returned an invalid user id.
Я прочитал все другие сообщения, и им не повезло, поэтому просто надеемся, что кто-то сможет мне помочь.
Я после этого учебника: 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 sign up page everthing, кажется, работает нормально, просит разрешить разрешения для myadd.dev. После того, как я нажму OK, меня доставят по следующему адресу: http://myapp.ie/social#_=_
, где отображается ошибка.
Не уверен, что это актуально: Просто наблюдая за другими сайтами, которые сотрудничают с facebook login .. URL-адрес переадресации выглядит примерно как http://somesite.dev/subdomain/#_=_
. Другими словами, они имеют косую черту перед # =. Это моя проблема, как мне ее исправить? Очень новичок в hybridauth, поэтому любая помощь сильно ценится.
О, я понимаю, что этот пост очень похож на другие сообщения, но мне еще нужно найти решение.
UPDATE: точная ошибка: Authentification failed. The user has canceled the authentication or the provider refused the connection.
Я заметил, что эта проблема возникает только в firefox (23.0.1 win) (для меня как минимум) .. может быть некоторая помощь – OZZIE
Одиночная проблема. Я пробовал все перечисленные ниже вещи, но все же застрял! Я отдельно протестировал facebook-php-sdk (github.com/facebook/facebook-php-sdk), и пример в этом работает хорошо. –
Попробуйте решение, упомянутое здесь http://stackoverflow.com/a/20000638/1154919 –