我正在使用Laravel 5.2。*和laravel / socialite 2.0.14,当尝试登录Facebook并在Facebook上点击“Okay”时,一切都很好。
但是,如果我第一次尝试使用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);
}
}
有谁知道如何捕获错误或解决错误?
由于
答案 0 :(得分:3)
您可以使用try catch
来捕获异常。像这样:
try {
$user = Socialite::driver('facebook')->user();
}
catch (\Exception $e) {
do something.....
}
答案 1 :(得分: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
}