Я работаю над laravel socialite для входа в систему с помощью gmail.i, который может хранить информацию о пользователе, и если уже существует идентификатор и адрес gmail, он должен перенаправляться на панель мониторинга.
public function googleCallback() { $user = Socialite::with('google')->user(); $email=$user->email; $user_id=$user->id; if(Auth::attempt(['email' =>$email,'password'=>$user_id])) { //return redirect('user/UserDashboard'); //return Redirect::to('user/UserDashboard'); echo "i am here"; } }
в приведенном выше коде, если я использую echo, тогда он будет печатать. Предположим, если перенаправление на панель мониторинга не работает. Я не знаю, почему перенаправление не работает для socialite. Может кто-нибудь сказать, где я делаю неправильно? Спасибо
Обновление: предположим, что если я запишусь на свой сайт с помощью gmail или fb или github, тогда данные будут храниться в моем db.if, чтобы этот пользователь заходил во второй раз, тогда он должен перенаправить на пользовательскую панель мониторинга. приведенный выше код будет проверять, существует ли auth :: попытка или нет. Предположим, если я напечатаю любое мнение внутри if (), блокирует его. Предположим, если я добавлю перенаправление на панель мониторинга, а затем войдите через gmail, и все не работают
Я не знаю, насколько мой ответ будет правильным, но он должен выглядеть примерно так:
public function googleCallback() { $user = Socialite::with('google')->user(); $email=$user->email; $user_id=$user->id; $user_db = \App\User::where('email', $user->email)->first(); if (count($user_db) == 1) { echo "i am here"; } else { // Your registration process // With Login process ie auth()->attempt(YOURDATA); } }
поpublic function googleCallback() { $user = Socialite::with('google')->user(); $email=$user->email; $user_id=$user->id; $user_db = \App\User::where('email', $user->email)->first(); if (count($user_db) == 1) { echo "i am here"; } else { // Your registration process // With Login process ie auth()->attempt(YOURDATA); } }
Это единственный способ, которым я мог бы это сделать. Если что-нибудь еще я могу помочь, поместите его в поле комментариев.
использовать это для перенаправления
return redirect()->intended('user/UserDashboard');