После успешного обратного звонка из социальной сети 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");
Другие вопросы по тегам