junkystu junkystu - 10 months ago 211
PHP Question

Laravel Socialite first and last name

I'm adding social authentication to an application using Laravel's Socialite. I can retrieve the full name but not the first and last names separately. After the callback happens and Socialite is handling it, the user is retrieved successfully. If I am to dump the user I get back from

$user = this->social->driver('facebook')->user();
I get the following:

object(Laravel\Socialite\Two\User)#459 (8) {
["token" ]=> string(209) "{token}"
["id"] => string(17) "{socialID}"
["nickname"] => NULL
["name"] => string(14) "{Full Name}"
["email"] => string(19) "{Email address}"
["avatar"] => string(69) "https://graph.facebook.com/v2.4/{socialID}/picture?type=normal"
["user"] => array(6) {
["first_name"] => string(6) "{First name}"
["last_name"] => string(7) "{Last mame}"
["email"] => string(19) "{Email address}"
["gender"] => string(4) "male"
["verified"] => bool(true)
["id"] => string(17) "{socialID}"
["avatar_original"] => string(68) "https://graph.facebook.com/v2.4/{socialID}/picture?width=1920"


I can obtain the full name or email via
however, I can not get the separate first and last names. I have tried
as well as trying to dump the
array but all I see is undefined property errors.

I do not want to do something weird like extract it from the full name when the separate first and last name are clearly there as it can get ugly when middle names are present.

I have Googled my way around and weirdly, nobody came across this issue. Am I missing something from the docs?
Any suggestions on how to retrieve the first and last name from the
array are greatly appreciated.


According to the dump of the $user var you should be able to access the name values by doing:

$user->user['first_name'] and $user->user['last_name']