После успешного обратного звонка из социальной сети Facebook меня перенаправляют на страницу входа
Я пытаюсь настроить "Войти через Facebook" с помощью laravel socialite. Когда я пытаюсь войти в систему, он получает успешный обратный вызов от 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
Дайте мне знать, если вам нужны другие коды.
1 ответ
Вы должны напрямую использовать перенаправление с маршрутом, например:
return redirect(route("routeNameGoesHere"));
Или вы можете использовать показать пользователю желаемый вид, например:
return view("viewNameGoesHere");