Laravel 5.2。*当facebook拒绝访问时,Laravel / socialite会抓到

问题描述 投票:0回答:2

我正在使用Laravel 5.2。*和laravel / socialite 2.0.14,当尝试登录Facebook并在Facebook上点击“Okay”时,一切都很好。

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

enter image description here

enter image description here

这是我的控制器代码,

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
2个回答
3
投票

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

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

0
投票

你应该使用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
}
© www.soinside.com 2019 - 2024. All rights reserved.