title: laravel Socialite - Facebook doesn't return user's firstname & lastname
body: <p>I'm using laravel socilialite to create a facebook login.</p>
  
  <p>Here's my provider redirect</p>
  
  <pre><code>public function redirectToProvider($provider = null)
  {
      if (!config("services.$provider"))
          abort('404'); //just to handle providers that doesn't exist
  
      if($provider == "facebook"){
          return Socialite::driver('facebook')
              -&gt;fields(['first_name', 'last_name', 'email', 'gender', 'birthday'])
              -&gt;scopes(['email', 'user_birthday'])-&gt;redirect();
      }
  
  }
  </code></pre>
  
  <p>However, in my callback I dump my $user to see which data I receive</p>
  
  <pre><code>public function findOrCreateUser($user, $provider)
  {
      $authUser = User::where('provider_id', $user-&gt;id)-&gt;first();
      if ($authUser) {
          return $authUser;
      }
  
      switch ($provider) {
          case "facebook":
              var_dump($user);
              return User::create([
                  'firstname' =&gt; $user-&gt;user['first_name'],
                  'lastname' =&gt; $user-&gt;user['last_name'],
                  'email' =&gt; $user-&gt;user['email'],
                  'email_verified' =&gt; true,
                  'provider' =&gt; $provider,
                  'provider_id' =&gt; $user-&gt;user['id']
              ]);
              break;
  
          case "google":
              return User::create([
                  'firstname' =&gt; $user['name']['givenName'],
                  'lastname' =&gt; $user['name']['familyName'],
                  'email' =&gt; $user['email'],
                  'email_verified' =&gt; true,
                  'provider' =&gt; $provider,
                  'provider_id' =&gt; $user['id']
              ]);
              break;
      }
  }
  </code></pre>
  
  <p>this is the data I'm receiving from facebook</p>
  
  <pre><code>object(Laravel\Socialite\Two\User)[215]
    public 'token' =&gt; string '******' (length=178)
    public 'refreshToken' =&gt; *****
    public 'expiresIn' =&gt; int ******
    public 'id' =&gt; string '*****' (length=15)
    public 'nickname' =&gt; null
    public 'name' =&gt; string '******' (length=15)
    public 'email' =&gt; string '*****' (length=24)
    public 'avatar' =&gt; string '******' (length=67)
    public 'user' =&gt; 
      array (size=6)
        'name' =&gt; string '*****' (length=15)
        'email' =&gt; string '*****' (length=24)
        'gender' =&gt; string '****' (length=4)
        'verified' =&gt; boolean ****
        'link' =&gt; string '*****' (length=60)
        'id' =&gt; string '****' (length=15)
    public 'avatar_original' =&gt; string '****' (length=66)
    public 'profileUrl' =&gt; string '*****' (length=60)
  </code></pre>
  
  <p>As you can I'm not receiving all the data I'm requesting, and I can't find out why.</p>
  
  <p>How can I make sure facebook gives me the <code>first_name</code> and <code>last_name</code> of a user? </p>