title: 403 (Forbidden) on axios post. Laravel 5.7
body: <p>I'm trying to perform a post request with axios on a vuejs component and it throws an <code>403 forbidden</code> error. This is my javascript code for the post request:</p>
  
  <pre><code>createMessage() {
              axios.post('/mensajes/guardar', {
                  subject: this.subject,
                  username: this.username,
                  content: this.editorContent
              })
              .then((res) =&gt; {
                  this.formProcessed = true
                  this.swalMixin('success', '¡Mensaje enviado!')
                  setTimeout(() =&gt; { window.location = '/mensajes' }, 3000)
              })
              .catch((err) =&gt; {
                  let errors = err.response.data.errors
                  let firstError = Object.keys(errors)[0]
                  let message = errors[firstError][0]
                  this.swalMixin('error', message)
              })
          }
  </code></pre>
  
  <p>The controller's fuction that handles it:</p>
  
  <pre><code>public function store(MessageStoreRequest $request)
      {
          $recipient = User::where('username', $request-&gt;username)-&gt;firstOrFail();
  
          $message = Message::create([
              'sender_id' =&gt; Auth::id(),
              'recipient_id' =&gt; $recipient-&gt;id,
              'subject' =&gt; $request-&gt;title,
              'content' =&gt; $request-&gt;content,
          ]);
  
          return response()-&gt;json([
              'message' =&gt; 'success'
          ], 200);
      }
  </code></pre>
  
  <p>My route group for the message model:</p>
  
  <pre><code>Route::prefix('mensajes')-&gt;middleware(['auth', 'verified'])-&gt;group(function () {
      Route::get('/', 'MessageController@index')-&gt;name('message.index');
      Route::get('/ver/{id}', 'MessageController@show')-&gt;name('message.show');
      Route::get('/crear', 'MessageController@create')-&gt;name('message.create')-&gt;middleware('can:create,App\Message');
      Route::post('/guardar', 'MessageController@store')-&gt;name('message.store')-&gt;middleware('can:create,App\Message');
  });
  </code></pre>
  
  <p>I've created a custom request to handle the validation:</p>
  
  <pre><code>&lt;?php
  
  namespace App\Http\Requests;
  
  use Illuminate\Foundation\Http\FormRequest;
  
  class MessageStoreRequest extends FormRequest
  {
      /**
       * Determine if the user is authorized to make this request.
       *
       * @return bool
       */
      public function authorize()
      {
          return false;
      }
  
      /**
       * Get the validation rules that apply to the request.
       *
       * @return array
       */
      public function rules()
      {
          return [
              'subject' =&gt; 'required|min:12',
              'username' =&gt; 'required|',
              'content' =&gt; 'required|min:37'
          ];
      }
  
      /**
       *  Custom message for validation
       *
       * @return array
       */
      public function messages()
      {
          return [
              'subject.required' =&gt; 'El asunto es obligatorio.',
              'subject.min' =&gt; 'El asunto debe contener al menos 10 caracteres.',
              'username.required' =&gt; 'El destinatario es obligatorio.',
              'content.required' =&gt; 'El contenido del mensaje no puede estar vacío.',
              'content.min' =&gt; 'El contenido del mensaje debe ser de al menos 30 caracteres.'
          ];
      }
  
      /**
       *  Filters to be applied to the input.
       *
       * @return array
       */
      public function filters()
      {
          return [
              'subject' =&gt; 'trim',
              'username' =&gt; 'trim',
              'content' =&gt; 'trim'
          ];
      }
  }
  </code></pre>
  
  <p>And there is this policy for the Message model:</p>
  
  <pre><code>/**
       * Determine whether the user can create messages.
       *
       * @param  \App\User  $user
       * @return mixed
       */
      public function create(User $user)
      {
          return $user-&gt;hasAccess(['create-message']);
      }
  </code></pre>
  
  <p>I can't find the problem. I've been working like this with other models and this is the first one that throws this error.</p>