How to automatically log in after successful registration in laravel 5.4.12?

I want to make automatic login after successful registration and redirect to the profile edit page. I tried the following code but did not work as I want

class RegisterController extends Controller
{

use RegistersUsers;

protected $redirectTo = '/edit_profile';


public function __construct()
{
    $this->middleware('guest');
}

public function createUser(Request $request)
{


    $this->validate($request , [
        'firstName'    => 'required',
        'lastName'     => 'required',
        'displayName'  => 'required',
        'email'        => 'required |email',
        'password'     =>'required ',
        'gender'       =>'required',
        'day'          =>'required|max:2',
        'month'       =>'required|max:2',
        'year'       =>'required|max:4',
    ]);
    $email=$request->input('email');
    $password=$request->input('paasword');
    $dob=$request->input('day').'-'.$request->input('month').'-'.$request->input('year');
    $request->request->add(['dob'=>$dob]);
    $request->request->add(['password'=>bcrypt($request->input('password'))]);
    $data = User::create($request->except(['_token', 'submit', 'day','month','year', 'confirm_password' ,'dayInWeek']));

    Auth::login($data);

 }

}

Routes

    Route::get('/', 'PageController@login');
    Route::get('/home', 'HomeController@index');


    Route::group( ['middleware' => 'auth' ], function()
    {
     Route::get('main', 'PageController@main');

     Route::get('browse', 'PageController@browse');

     Route::get('pickngo', 'PageController@pickngo');

     Route::get('edit_profile', 'PageController@profile');
    }
+4
source share
3 answers

Use Laravel loginUsingId ($ id), passing the user id.

$data = User::create($request->except(['_token', 'submit', 'day','month','year', 'confirm_password' ,'dayInWeek']));

Auth::loginUsingId($data->id);
+2
source

just change your authorization login just like

if(Auth::login($data))   {
   return redirect('/edit_profile');
   }
   else
  {
   return redirect()->back();
  }
+1
source

Scren . redirectTo LoginController. P.S.it , laravel make:auth. Documentation Screen

+1
source

Source: https://habr.com/ru/post/1672435/


All Articles