В принципе, я хочу получить ссылку на профиль пользователя из Linkedin. Я использую Laravel Socialite с Socialite Providers, чтобы получить информацию от Linkedin.Laravel Socialite extend fields
Когда пользователь перенаправляется обратно на мой сайт с успехом я отлажена информацию:
User {#285 ▼
+token: "XXX"
+id: "XXX"
+nickname: null
+name: "XXX"
+email: "XXX"
+avatar: "XXX"
+"user": array:4 [▶]
}
Так я хотел распространить эту информацию с «общественно-профильных URL», это базовый профиль Поле из Linkedin.
Я пытался сделать что-то подобное в "MyProject/поставщика/socialiteproviders// ЦСИ LinkedIn/Provider.php":
/**
* {@inheritdoc}
*/
protected function mapUserToObject(array $user)
{
return (new User())->setRaw($user)->map([
'id' => $user['id'], 'nickname' => null,
'name' => $user['formattedName'], 'email' => $user['emailAddress'],
'avatar' => array_get($user, 'pictureUrl'),
'link' => array_get($user, 'publicProfileUrl'),
]);
}
Но тогда ссылка будет "нулевой".
Кто-нибудь знает, как решить эту проблему?
Я следил за вашим решением, но не хотел потерять свои изменения в каждом «обновлении композитора». Поэтому я скопировал папку socialiteproviders в папку 'packages' верхнего уровня, которую я использую для своих (не-композитных) пакетов. Затем просто удалите его из блока 'require' в composer.json и добавьте два пути к автозагрузке/psr-4 следующим образом:' "SocialiteProviders \\ LinkedIn \\": "packages/socialiteproviders/linkedin/src", ' и "SocialiteProviders \\ Manager \\": "packages/socialiteproviders/manager/src". Теперь запустите обновление для композитора, и все должно работать нормально. – Fixspec