title: Unable to get Policies working in Laravel 5.3
body: <p>I've been following the Laravel Authorization docs trying to build "is the user allowed to do this" functionality by using Policies, but I can't get it to work. I keep getting <code>This action is unauthorized</code> and I've tried with route middleware too.</p>
  
  <p><code>PagePolicy.php</code>:</p>
  
  <pre><code>namespace App\Policies;
  
  use App\Models\User;
  use App\Models\Page;
  
  use Illuminate\Auth\Access\HandlesAuthorization;
  
  class PagePolicy
  {
      use HandlesAuthorization;
  
      /**
       * Determine whether the user can view the page.
       *
       * @param  App\Models\User  $user
       * @param  App\Models\Page  $page
       * @return mixed
       */
      public function view(User $user, Page $page)
      {
          return $user-&gt;id === $page-&gt;user_id;
      }
  
      /**
       * Determine whether the user can create pages.
       *
       * @param  App\Models\User  $user
       * @return mixed
       */
      public function create(User $user)
      {
  
      }
  
      /**
       * Determine whether the user can update the page.
       *
       * @param  App\Models\User  $user
       * @param  App\Models\Page  $page
       * @return mixed
       */
      public function update(User $user, Page $page)
      {
          //
      }
  
      /**
       * Determine whether the user can delete the page.
       *
       * @param  App\Models\User  $user
       * @param  App\Models\Page  $page
       * @return mixed
       */
      public function delete(User $user, Page $page)
      {
          //
      }
  }
  </code></pre>
  
  <p><code>PageController.php</code>:</p>
  
  <pre><code>namespace App\Http\Controllers;
  
  use Auth;
  use Carbon\Carbon;
  
  use App\Models\Page;
  
  use App\Http\Requests\PageRequest;
  
  class PageController extends ApiController
  {
      public function createNewPage(PageRequest $request)
      {
          $this-&gt;authorize('create', Page::class);
  
          $request-&gt;merge([
              'user_id' =&gt; Auth::id(),
              'published_at' =&gt; Carbon::now(),
          ]);
  
          if (Page::create($request-&gt;all())) {
              return response()-&gt;json('success', 201);
          }
  
          return response()-&gt;json('error', 500);
      }
  
  }
  </code></pre>
  
  <p><code>AuthServiceProvidor.php</code>:</p>
  
  <pre><code>namespace App\Providers;
  
  use App\Models\Page;
  use App\Policies\PagePolicy;
  
  use Illuminate\Support\Facades\Gate;
  use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
  
  class AuthServiceProvider extends ServiceProvider
  {
      /**
       * The policy mappings for the application.
       *
       * @var array
       */
      protected $policies = [
          Page::class =&gt; PagePolicy::class,
      ];
  
      /**
       * Register any authentication / authorization services.
       *
       * @return void
       */
      public function boot()
      {
          $this-&gt;registerPolicies();
  
          //
      }
  }
  </code></pre>