Formenti Matteo
Formenti Matteo

Reputation: 39

Laravel authentication lifecycle

I'm trying to understand how an authentication request is handled by laravel in order to be able to write my own authentication method that allows me to check data from multiple tables before authenticating (basically there are some columns that I need to check to understand if a user is able to login).
I'm actually quietly confused about the relation between guards, middleware, provider and driver.

Can someone please explain me the lifecycle of a login request? Thank you

EDIT: i'm working with laravel 5.7, standard Auth scaffolding that is available using make:auth

Upvotes: 0

Views: 673

Answers (1)

Hisham Elsayad
Hisham Elsayad

Reputation: 474

To make a custom authentication follow this steps

1.go to routes/web.php and make a get route to handle login view and post login route to handle login logic

Route::get('login','LoginController@show')
Route::post('login','LoginController@login')

2. Make a controller called LoginController

php artisan make:controller LoginController

4.inside LoginController make a function called login to handle login logic like this

public function login(){
 $input = $this->validate(request(),['username'=>'required','password'=>'required']);
 $model = CustomUsersModel::where('username',$input['username'])
           ->where('password',bcrypt($input['password']))->first();

 if($model){
   //user exist and valid login information
     auth()->login($model);//login user via model
   //now user loggedin
   }
  //handle wrong login information

}

Upvotes: 1

Related Questions