首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >laravel4杂交facebook认证失败!Facebook返回了一个无效的用户id

laravel4杂交facebook认证失败!Facebook返回了一个无效的用户id
EN

Stack Overflow用户
提问于 2013-07-07 19:41:50
回答 10查看 5K关注 0票数 5

好吧,我试着用混音器和laravel 4。然而,当我尝试登录facebook时,我似乎变得非常普遍了:

认证失败!Facebook返回了一个无效的用户id。

我看过所有其他的帖子,没有运气,所以我只是希望有人能帮助我。

我遵循了本教程:http://www.mrcasual.com/on/coding/laravel4-package-management-with-composer/

并尝试了其他几种配置,但都没有成功。

这是我的config/杂交瘤。

代码语言:javascript
复制
<?php
return array(
    "base_url"   => "http://myapp.dev/social/auth/",
    "providers"  => array (
        "Facebook"   => array (
            "enabled"    => true,
            "keys"       => array ( "id" => "****", "secret" => "****" ),

        ),
    ),
);

这是我的路线:

代码语言:javascript
复制
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的权限。单击“确定”后,将显示以下URL:http://myapp.ie/social#_=_,其中显示错误。

不确定这是否相关:只是通过观察其他网站合作登录facebook .重定向URL看起来类似于http://somesite.dev/subdomain/#_=_。换句话说,他们在#=之前有一个斜杠。这是我的问题,我该怎么解决??非常新的杂交瘤,所以任何帮助非常感谢感谢。

哦,我确实意识到这个帖子和其他帖子很相似,但是我还没有找到解决办法。

更新:准确的错误:Authentification failed. The user has canceled the authentication or the provider refused the connection.

EN

回答 10

Stack Overflow用户

发布于 2013-11-22 14:33:57

在base_facebook.php中执行以下操作

代码语言:javascript
复制
  public static $CURL_OPTS = array(
    CURLOPT_CONNECTTIMEOUT => 50,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT        => 60,
    CURLOPT_USERAGENT      => 'facebook-php-3.2',
    CURLOPT_SSL_VERIFYPEER => false,
    CURLOPT_SSL_VERIFYHOST => false,
  );

  protected $trustForwarded = true;
  protected $allowSignedRequest = false;
票数 6
EN

Stack Overflow用户

发布于 2014-02-28 11:35:23

CURLOPT_SSL_VERIFYPEER => false,CURLOPT_SSL_VERIFYHOST => false

在modules/hybridauth/Hybrid/thirdparty/Facebook/base_facebook.php:128

解决了!

票数 1
EN

Stack Overflow用户

发布于 2013-07-07 23:40:36

对其他人来说,这就是对我起作用的地方:我重置了应用程序的机密,现在效果很好。不知道为什么我的第一个应用程序密钥不起作用。花了很长时间来纠正这个错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17515618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档