Laravel 5.2.* Laravel/socialite 在 facebook 拒绝访问时捕获
Laravel 5.2.* Laravel/socialite catch when facebook deny access
我正在使用 Laravel 5.2.* 和 laravel/socialite 2.0.14,尝试登录 facebook 并在 Facebook 中单击 "Okay".
时一切正常
但是,如果我第一次尝试使用 Facebook 登录,并且如果我在 Facebook 上单击 "Cancel" 拒绝访问,它会重定向到回调 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);
}
}
有谁知道如何捕获或解决错误?
谢谢
您可以使用 try catch
来捕获异常。像这样:
try {
$user = Socialite::driver('facebook')->user();
}
catch (\Exception $e) {
do something.....
}
你应该使用 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
}
我正在使用 Laravel 5.2.* 和 laravel/socialite 2.0.14,尝试登录 facebook 并在 Facebook 中单击 "Okay".
时一切正常但是,如果我第一次尝试使用 Facebook 登录,并且如果我在 Facebook 上单击 "Cancel" 拒绝访问,它会重定向到回调 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);
}
}
有谁知道如何捕获或解决错误?
谢谢
您可以使用 try catch
来捕获异常。像这样:
try {
$user = Socialite::driver('facebook')->user();
}
catch (\Exception $e) {
do something.....
}
你应该使用 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
}