【问题标题】:Laravel 5.2.* Laravel/socialite catch when facebook deny accessLaravel 5.2.* Laravel/socialite 在 facebook 拒绝访问时捕获
【发布时间】:2016-06-18 11:31:43
【问题描述】:

我正在使用 Laravel 5.2.* 和 laravel/socialite 2.0.14,当尝试登录 facebook 并在 Facebook 中单击“确定”时,一切都很好。

但如果我第一次尝试使用 Facebook 登录,并且如果我在 Facebook 上单击“取消”以拒绝访问,它会重定向到回调 URI 并触发和错误。

这是我的控制器代码,

namespace App\Http\Controllers\Auth;
use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;

use Socialite;

class SocialiteController extends Controller
{
    public function __construct()
    {
    }

    public function facebook()
    {
        return Socialite::driver('facebook')->redirect();
    }

     public function facebookCallback()
     {
        $user = Socialite::driver('facebook')->user();

        // $user->token;

        dd($user);
    }
}

有谁知道如何捕捉错误或解决它?

谢谢

【问题讨论】:

    标签: laravel-5.2 laravel-socialite


    【解决方案1】:

    你应该使用try catch方法来拒绝捕获

    
    try {
    
        if (!$request->has('code') || $request->has('denied')) {
           return redirect('/');       // redirect url
        }
    
        $user = Socialite::driver('facebook')->user();
    }
    catch (\InvalidArgumentException $e) {
        return redirect()->to('/');   // redirect url
    }
    

    【讨论】:

      【解决方案2】:

      您可以使用try catch 来捕获异常。像这样:

      try {
          $user = Socialite::driver('facebook')->user();
      }
      catch (\Exception $e) {
          do something.....
      }
      

      【讨论】:

        猜你喜欢
        • 2016-10-12
        • 2020-02-10
        • 2016-07-08
        • 1970-01-01
        • 2018-07-06
        • 1970-01-01
        • 2019-09-26
        • 2015-02-22
        • 2021-07-04
        相关资源
        最近更新 更多