Я следовал этому принципу https://gist.github.com/danvbe/4476697, чтобы получить HWIOauthBundle для работать на моем сайте, и теперь я могу нормально войти в систему через учетную запись LinkedIn и сохранить пользователя в своей локальной базе данных, так что я очень доволен этим. Однако мой следующий шаг — получить дополнительную информацию о пользователе через LinkedIn API, и пока у меня есть только поля имени пользователя и форматированного имени.
Я просмотрел код, интересный фрагмент кода находится в OAuth/ResourceOwner/LinkedinResourceOwner.php:
protected $options = array(
'authorization_url' => 'https://www.linkedin.com/uas/oauth/authenticate',
'request_token_url' => 'https://api.linkedin.com/uas/oauth/requestToken',
'access_token_url' => 'https://api.linkedin.com/uas/oauth/accessToken',
'infos_url' => 'http://api.linkedin.com/v1/people/~:(id,formatted-name)',
'realm' => 'http://api.linkedin.com',
);
Поэтому я подумал, что мне нужно только перезаписать этот ResourceOwner и изменить строку
'infos_url' => 'http://api.linkedin.com/v1/people/~:(id,formatted-name)',
путем добавления других полей. Моя идея состояла в том, чтобы создать класс MylinkedinResourceOwner, который расширяет исходный класс LinkedinResourceOwner. Так я и сделал, добавив в свой services.yml следующие строки:
hwi_oauth.resource_owner.mylinkedin.class: Acme\UserBundle\OAuth\ResourceOwner\MylinkedinResourceOwner
hwi_oauth.abstract_resource_owner.mylinkedin:
class: "%hwi_oauth.resource_owner.mylinkedin.class%"
parent: hwi_oauth.abstract_resource_owner.oauth2
и, конечно же, изменено в config.yml:
hwi_oauth:
resource_owners:
linkedin:
type: mylinkedin
client_id: ***
client_secret: ***
scope: r_fullprofile
Но, к сожалению, у меня есть следующая ошибка
InvalidConfigurationException: Invalid configuration for path "hwi_oauth.resource_owners.linkedin.type": Unknown resource owner type "mylinkedin".
Итак, мой вопрос: правильно ли я делаю, чтобы получить дополнительную информацию об учетной записи LinkedIn? Если да, то как я могу решить эту ошибку?
Спасибо !