在使用laravel 5.4中的socialite laravel包时重定向次数过多
我已经在我的应用程序中安装了社交名媛软件包,但它不能正常工作 在我用linkedin按钮登录时,我给出了如下url在使用laravel 5.4中的socialite laravel包时重定向次数过多,laravel,Laravel,我已经在我的应用程序中安装了社交名媛软件包,但它不能正常工作 在我用linkedin按钮登录时,我给出了如下url href="{{ url('auth/linkedin') }}" 我的路线文件是 Route::get('auth/linkedin', 'LinkedInController@redirectToLinkedin'); Route::get('/linkedin/callback', 'LinkedInController@handleLinkedinCallback');
href="{{ url('auth/linkedin') }}"
我的路线文件是
Route::get('auth/linkedin', 'LinkedInController@redirectToLinkedin');
Route::get('/linkedin/callback', 'LinkedInController@handleLinkedinCallback');
LinkedInController.php是
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\User;
use Validator;
use App\Http\Controllers\Controller;
use Auth;
use Socialite;
use Exception;
class LinkedInController extends Controller {
protected $redirectTo = '/';
//use Illuminate\Foundation\Auth\AuthenticatesUsers;
public function __construct()
{
//$this->middleware('guest', ['except' => 'logout']);
}
protected function validator(array $data) {
return Validator::make($data, [
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|confirmed|min:6',
]);
}
protected function create(array $data) {
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);
}
public function redirectToLinkedin() {
return Socialite::driver('linkedin')->redirect();
}
public function handleLinkedinCallback() {
try {
$user = Socialite::driver('linkedin')->user();
$create['name'] = $user->name;
$create['email'] = $user->email;
$create['linkedin_id'] = $user->id;
$userModel = new User;
$createdUser = $userModel->addNew($create);
Auth::loginUsingId($createdUser->id);
return redirect('/index');
} catch (Exception $e) {
return redirect('auth/linkedin');
}
}
}
当您单击时,那么redirectToLinkedin()意味着捕获部分?问题肯定在您的路由中,您可以粘贴它们吗?您可以调用返回redirect('auth/linkedin')代码>异常。由于您已经获得授权,它将简单地重新激活为相同的方法。如果你的试块永远不工作,你将永远有一个无限的lopo。最好转储此异常并调查其原因。检查转储catch(exception$e){dd($e);}
我怀疑handleLinkedinCallback()
函数正在抛出异常,因此catch块正在重复重定向回。如果更改catch块中重定向的位置,会发生什么情况?当您单击时,那么redirectToLinkedin()表示catch部分?问题肯定在您的路由中,您可以粘贴它们吗?您可以调用return redirect('auth/linkedin')代码>异常。由于您已经获得授权,它将简单地重新激活为相同的方法。如果你的试块永远不工作,你将永远有一个无限的lopo。最好转储此异常并调查其原因。检查转储catch(exception$e){dd($e);}
我怀疑handleLinkedinCallback()
函数正在抛出异常,因此catch块正在重复重定向回。如果更改catch块中重定向的位置,会发生什么情况?