$this->config->get('providers.facebook.app_id'), 'clientSecret' => $this->config->get('providers.facebook.app_secret'), 'graphApiVersion' => $this->config->get('providers.facebook.options.graph_api_version') ]; parent::initProvider($options); } /** * @return string */ public function getAuthorizationUrl(): string { $options = ['state' => $this->state]; $options['scope'] = $this->config->get('providers.facebook.options.scope'); return $this->provider->getAuthorizationUrl($options); } /** * @param ResourceOwnerInterface|FacebookUser $user * @return array */ public function getUserData(ResourceOwnerInterface $user): array { \assert($user instanceof FacebookUser); $hometown = $user->getHometown(); return [ 'id' => $user->getId(), 'login' => $user->getEmail(), 'fullname' => $user->getName(), 'email' => $user->getEmail(), 'facebook' => [ 'avatar_url' => $user->getPictureUrl(), 'location' => $hometown ? $hometown['name'] : '' ] ]; } }