аутентификация не работает

Я уже задал этот вопрос, но ответа не получил.

Как войти в систему с помощью Github, Facebook, Gmail и Twitter в Laravel 5.1?

auth не работает


Я могу хранить данные из gmail, github в базе данных.

контроллер

if (Auth::attempt(['email' => $email, 'password' => $user_id])) { return redirect()->intended('user/UserDashboard'); } else { //here i am going to insert if user not logged in already return redirect()->intended('user/UserDashboard'); } 

Моя проблема в том, что если я повторяю любые данные вместо return redirect()->intended('user/UserDashboard'); затем отображается. Если я добавлю перенаправление, это не сработает.

Я не совсем уверен, как это работает при использовании google для oAuth, но я предполагаю, что ваш желаемый поток:

  1. Пользователь возвращается из Google.
  2. Проверьте, существует ли пользователь, иначе создайте новую запись пользователя.
  3. Войдите в систему.
  4. Перенаправление на панель.

Предполагая выше, ваши методы будут выглядеть примерно так.

контроллер

 public function google() { // Redirect user to google for authentication return Socialite::driver('google')->redirect(); // In Laravel 5.0 this would be // return Socialize::with('google')->redirect(); } public function googleCallback() { // Return from google with user object $googleUser = Socialite::driver('google')->user(); // In Laravel 5.0 the above would be // $user = Socialize::with('google')->user(); // If user exists, retrieve the first() record, // otherwise create a new record $user = User::firstOrCreate([ 'user_id' => $googleUser->id, 'name' => $googleUser->name, 'password' => $googleUser->id, 'email' => $googleUser->email, 'avatar' => $googleUser->avatar ]); // Login the user Auth::login($user, true); // Redirect to the dashboard return Redirect::intended('user/UserDashboard'); }