sjg20010414

第 1719 位会员

会员
个人信息
  • 加入于 2019-10-12 16:03:47
  • 最后登录时间 4年前
个人成就
  • 发表文章次数 1
  • 发布回复次数 1
  • 个人主页浏览次数 1
前台登录直接返回异常Facebook\Exceptions\FacebookSDKException4年前

我来自问自答一下:

我在后台对 appfront 的 store 配置时,没有设置 facebook app id 和 secret,当登录时,转向 customer/account/login,到 AccountController.php的 62 行 $data = $this->getBlock()->getLastData($param); 失败,跟踪到 block/account/login 的 getLastData 的返回句 失败

return [
            'loginPageCaptcha' => $loginPageCaptcha,
            'email' => $email,
            'googleLoginUrl' => Yii::$service->customer->google->getLoginUrl('customer/google/loginv'),
            'facebookLoginUrl' => Yii::$service->customer->facebook->getLoginUrl('customer/facebook/loginv'),
        ];

实际 Yii::$service->customer->facebook->getLoginUrl('customer/facebook/loginv') 异常,跟踪到 services/customer/FaceBook.php 的以下语句

$fb = new \Facebook\Facebook([
            'app_id' => $this->facebook_app_id,
            'app_secret' => $this->facebook_app_secret,
            'default_graph_version' => 'v2.10',
        ]);

facebook_app_id, facebook_app_secret 都是空的,还试图创建对象,从而 FaceBook 类在 138-142行抛出异常

修改意见:facebook_app_id, facebook_app_secret 都是空的不要创建对象,前面应加以判断 绕过办法:后台给 appfront 的Store 随便设置一个 facebook appid appsecret

Your Site Analytics