Laravel 5.2 Multi Auth with Multiple Models

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.

  1. 'defaults' => [
  2. 'guard' => 'web',
  3. 'passwords' => 'users',
  4. ],
  5. 'guards' => [
  6. 'web' => [
  7. 'driver' => 'session',
  8. 'provider' => 'users',
  9. ],
  10. 'api' => [
  11. 'driver' => 'token',
  12. 'provider' => 'users',
  13. ],
  14. ],

As you can see both are connected to same provider users.

You can also customize your Auth providers.

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.

here is simple example for route group :

  1. Route::group(['prefix' => 'api/user', 'middleware' => 'auth:api'], function () {
  2. Route::post('/store', 'UserController@store');
  3. });

If you will now use :api in middleware then Laravel won't identify that your app are using the driver for the api guard then it typically protect your routes from suspicious users.

Now question is how you can get user details when you use token based authentication via auth:api middleware.

Normally you get user details by using following line of code.

  1. Auth::user();

Now you will get user details for the API request by using following line of code.


  1. Auth::guard('api')->user();

You can create your own drivers and guards but if you think it is very simple to create your own drivers then i can tell you its not easy to create drivers as you create guard.

There are several packages available with Laravel for multiple authentication.

Example of sarav/laravel-multiauth package

This is very simple Laravel package for multi authentication.

Step1: Run Composer to include packages

composer require sarav/laravel-multiauth

Step2: Replace your default auth service provider

"Illuminate\Auth\AuthServiceProvider::class" with "Sarav\Multiauth\MultiauthServiceProvider::class"

Step3: Made changes in auth.php

  1. 'multi' => [
  2. 'user' => [
  3. 'driver' => 'eloquent',
  4. 'model' => App\Model\User::class,
  5. 'table' => 'users'
  6. ],
  7. 'useradmin' => [
  8. 'driver' => 'eloquent',
  9. 'model' => App\Model\Admin::class,
  10. 'table' => 'useradmins'
  11. ]
  12. ],

Phone: (+91) 8800417876
Noida, 201301
ataşehir escort maltepe escort bostancı escort kadıköy escort maltepe escort ataşehir escort tuzla escort pendik escort ümraniye escort kartal escort
pendik escort
izmir escort izmir escort izmir escort izmir escort denizli escort antalya escort antalya escort antalya escort izmir escort izmir escort izmir escort izmir escort izmir escort
hatay escort nevsehir escort nigde escort kirikkale escort batman escort osmaniye escort kirklareli escort tokat escort rize escort adiyaman escort gumushane escort batman escort
porno izle
cialis satış cialis fiyat cialis 20 mg cialis 100 mg cialis 5 mg fiyat
sohbet okey oyna
ankara escort marmaris escort bursa escort mersin escort antalya escort izmir escort samsun escort bodrum escort çeşme escort kuşadası escort adana escort eskişehir escort gaziantep escort esenyurt escort pendik escort tuzla escort fatih escort ümraniye escort mecidiyeköy escort kartal escort bahçelievler escort bahçeşehir escort ataşehir escort bakırköy escort nişantaşı escort avcılar escort büyükçekmece escort kurtkoy escort konya escort beşiktaş escort taksim escort beylikdüzü escort malatya escort sakarya escort şişli escort maltepe escort kadıköy escort ataköy escort bostancı escort şirinevler escort bağcılar escort üsküdar escort etiler escort başaksehir escort ortaköy escort kağıthane escort sultangazi escort halkalı escort çekmeköy escort şaşkınbakkal escort mamak escort sincan escort keçiören escort çankaya escort beypazarı escort akyurt escort pursaklar escort kahramankazan escort göztepe escort alsancak escort bornova escort buca escort karabaglar escort karşıyaka escort konak escort narlıdere escort izmit escort başiskele escort kandira escort körfez escort karamürsel escort dilovası escort gölcük escort gebze escort kocaeli escort kayseri escort elazığ escort denizli escort diyarbakir escort adana escort ankara escort izmir escort antalya escort gaziantep escort kayseri escort konya escort mersin escort denizli escort kocaeli escort diyarbakır escort