title: What is the difference between guest and auth middleware in Laravel?
body: <p>//kernel.php</p>
  <pre><code>protected $routeMiddleware = [
      'auth' =&gt; \App\Http\Middleware\Authenticate::class,
      'auth.basic' =&gt; \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
      'bindings' =&gt; \Illuminate\Routing\Middleware\SubstituteBindings::class,
      'cache.headers' =&gt; \Illuminate\Http\Middleware\SetCacheHeaders::class,
      'can' =&gt; \Illuminate\Auth\Middleware\Authorize::class,
      'guest' =&gt; \App\Http\Middleware\RedirectIfAuthenticated::class,
      'signed' =&gt; \Illuminate\Routing\Middleware\ValidateSignature::class,
      'throttle' =&gt; \Illuminate\Routing\Middleware\ThrottleRequests::class,
      'verified' =&gt; \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
  ];
  </code></pre>
  <p>what should i use, auth or guest middleware for authentication ? what is the difference between auth and guest middleware?</p>