Laravel 5.2 Multi Auth with Multiple Models

Laravel 5.2 Multi Auth with Multiple Models

There are so many packages available in Laravel for multiple authentication, here in this Laravel auth tutorial, I will tell you how you can authenticate your application with example.

As you know that the traditional web based application authentication layer is default authentication guard where you generally post email and password to a controller and in controller you validate your credentials and according response if you get invalid then you redirects otherwise you save the information to the session.You can see the default authentication "guard" in following path config/auth.php. you can change it but for this is the best way to start any application.

But suppose when you are working with api in same app where you authenticate your app with unique JSON web tokens or something else that is not stored in session so in this case you need multiple authentication that are used for both, for web and for api.

As you will see in auth.php there are already defined two guards, one for web which is known as classic Laravel authentication layer and second one for api which is known as token based driver.

If your application are using TokenGuard to authenticate the request then made changes in auth.php file from default web to api. This authentication mode inform to Laravel to use middleware api based authentication, Because Laravel will use whatever you have set default in auth.php.

Token based Authenticaton

If you are trying to authenticate your application in api version of middleware then add a column api_token in your user table.

Use auth:api middleware to protect your application when you are working with token based authentication.