Я уже задал этот вопрос, но ответа не получил.
Как войти в систему с помощью 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, но я предполагаю, что ваш желаемый поток:
Предполагая выше, ваши методы будут выглядеть примерно так.
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'); }