Browse Source

update middleware and config

Taylor Otwell 8 years ago
parent
commit
8414d45cdc
3 changed files with 53 additions and 66 deletions
  1. 2 20
      app/Http/Middleware/Authenticate.php
  2. 2 20
      app/Http/Middleware/RedirectIfAuthenticated.php
  3. 49 26
      config/auth.php

+ 2 - 20
app/Http/Middleware/Authenticate.php

@@ -3,28 +3,10 @@
 namespace App\Http\Middleware;
 
 use Closure;
-use Illuminate\Contracts\Auth\Guard;
+use Illuminate\Support\Facades\Auth;
 
 class Authenticate
 {
-    /**
-     * The Guard implementation.
-     *
-     * @var Guard
-     */
-    protected $auth;
-
-    /**
-     * Create a new filter instance.
-     *
-     * @param  Guard  $auth
-     * @return void
-     */
-    public function __construct(Guard $auth)
-    {
-        $this->auth = $auth;
-    }
-
     /**
      * Handle an incoming request.
      *
@@ -34,7 +16,7 @@ class Authenticate
      */
     public function handle($request, Closure $next)
     {
-        if ($this->auth->guest()) {
+        if (Auth::guest()) {
             if ($request->ajax()) {
                 return response('Unauthorized.', 401);
             } else {

+ 2 - 20
app/Http/Middleware/RedirectIfAuthenticated.php

@@ -3,28 +3,10 @@
 namespace App\Http\Middleware;
 
 use Closure;
-use Illuminate\Contracts\Auth\Guard;
+use Illuminate\Support\Facades\Auth;
 
 class RedirectIfAuthenticated
 {
-    /**
-     * The Guard implementation.
-     *
-     * @var Guard
-     */
-    protected $auth;
-
-    /**
-     * Create a new filter instance.
-     *
-     * @param  Guard  $auth
-     * @return void
-     */
-    public function __construct(Guard $auth)
-    {
-        $this->auth = $auth;
-    }
-
     /**
      * Handle an incoming request.
      *
@@ -34,7 +16,7 @@ class RedirectIfAuthenticated
      */
     public function handle($request, Closure $next)
     {
-        if ($this->auth->check()) {
+        if (Auth::check()) {
             return redirect('/home');
         }
 

+ 49 - 26
config/auth.php

@@ -4,44 +4,58 @@ return [
 
     /*
     |--------------------------------------------------------------------------
-    | Default Authentication Driver
+    | Authentication Drivers
     |--------------------------------------------------------------------------
     |
-    | This option controls the authentication driver that will be utilized.
-    | This driver manages the retrieval and authentication of the users
-    | attempting to get access to protected areas of your application.
+    | Here you may define every authentication driver for your application.
+    | Of course, a default and working configuration is already defined
+    | here but you are free to define additional drivers when needed.
     |
-    | Supported: "database", "eloquent"
+    | The "guard" option defines the default driver that will be used when
+    | utilizing the "Auth" facade within your application. But, you may
+    | access every other auth driver via the facade's "guard" method.
     |
-    */
-
-    'driver' => 'eloquent',
-
-    /*
-    |--------------------------------------------------------------------------
-    | Authentication Model
-    |--------------------------------------------------------------------------
+    | All authentication drivers have a "provider". A provider defines how
+    | users are actually retrieved out of the database or other storage
+    | mechanism used by your application to persist your user's data.
     |
-    | When using the "Eloquent" authentication driver, we need to know which
-    | Eloquent model should be used to retrieve your users. Of course, it
-    | is often just the "User" model but you may use whatever you like.
+    | Supported: "session"
     |
     */
 
-    'model' => App\User::class,
+    'guard' => 'session',
+
+    'guards' => [
+        'session' => [
+            'driver' => 'session',
+            'provider' => 'eloquent',
+        ],
+    ],
 
     /*
     |--------------------------------------------------------------------------
-    | Authentication Table
+    | User Providers
     |--------------------------------------------------------------------------
     |
-    | When using the "Database" authentication driver, we need to know which
-    | table should be used to retrieve your users. We have chosen a basic
-    | default value but you may easily change it to any table you like.
+    | All authentication drivers have a "provider". A provider defines how
+    | users are actually retrieved out of the database or other storage
+    | mechanism used by your application to persist your user's data.
+    |
+    | Supported: "database", "eloquent"
     |
     */
 
-    'table' => 'users',
+    'providers' => [
+        'eloquent' => [
+            'driver' => 'eloquent',
+            'model' => App\User::class,
+        ],
+
+        'database' => [
+            'driver' => 'database',
+            'table' => 'users',
+        ],
+    ],
 
     /*
     |--------------------------------------------------------------------------
@@ -52,16 +66,25 @@ return [
     | that is your password reset e-mail. You can also set the name of the
     | table that maintains all of the reset tokens for your application.
     |
+    | Of course, you may define multiple password "brokers" each with a their
+    | own storage settings and user providers. However, for most apps this
+    | default configuration of using Eloquent is perfect out of the box.
+    |
     | The expire time is the number of minutes that the reset token should be
     | considered valid. This security feature keeps tokens short-lived so
     | they have less time to be guessed. You may change this as needed.
     |
     */
 
-    'password' => [
-        'email'  => 'emails.password',
-        'table'  => 'password_resets',
-        'expire' => 60,
+    'broker' => 'default',
+
+    'brokers' => [
+        'default' => [
+            'provider' => 'eloquent',
+            'email' => 'emails.password',
+            'table' => 'password_resets',
+            'expire' => 60,
+        ],
     ],
 
 ];