我正在尝试使用laravel socialite设置“使用Facebook登录”。当我尝试登录时,它会从Facebook获得成功的回调,我正在将获取的数据存储到数据库中,然后尝试重定向到主页。这样做时,我被重定向回登录页面,而从未到达主页。
这是我的代码- AuthController.php
use App\Http\Controllers\Controller;
use Auth;
use Socialite;
use App\User;
[.. // class defination and home redirect variable
public function redirectToProvider($provider)
{
return Socialite::driver($provider)->redirect();
}
public function handleProviderCallback($provider)
{
$user = Socialite::driver($provider)->user();
// dd($user);
$authUser = $this->findOrCreateUser($user, $provider);
Auth::login($authUser, true);
return redirect($this->redirectTo);
}
public function findOrCreateUser($user, $provider)
{
$authUser = User::where('id', $user->id)->first();
if ($authUser) {
return $authUser;
}
return User::create([
'name' => $user->name,
'email' => $user->email,
// 'avatar' => $user->avatar,
'provider' => $provider,
'id' => $user->id
]);
}
..]
Web.php
Route::get('auth/{provider}', 'Auth\AuthController@redirectToProvider');
Route::get('auth/{provider}/callback', 'Auth\AuthController@handleProviderCallback');
.env文件
CALLBACK_URL=http://localhost/xampp/tccdev/public/auth/facebook/callback
如果需要其他代码,请告诉我。
答案 0 :(得分:0)
您应该直接将重定向与路由一起使用,例如:
return redirect(route("routeNameGoesHere"));
或者您可以使用向用户显示您想要的视图,例如:
return view("viewNameGoesHere");