www.gusucode.com > Flarum中文优化论坛PHP源码程序 > FlarumChina-master/vendor/flarum/flarum-ext-auth-facebook/src/FacebookAuthController.php
<?php /* * This file is part of Flarum. * * (c) Toby Zerner <toby.zerner@gmail.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Flarum\Auth\Facebook; use Flarum\Forum\AuthenticationResponseFactory; use Flarum\Forum\Controller\AbstractOAuth2Controller; use Flarum\Settings\SettingsRepositoryInterface; use League\OAuth2\Client\Provider\Facebook; use League\OAuth2\Client\Provider\ResourceOwnerInterface; class FacebookAuthController extends AbstractOAuth2Controller { /** * @var SettingsRepositoryInterface */ protected $settings; /** * @param AuthenticationResponseFactory $authResponse * @param SettingsRepositoryInterface $settings */ public function __construct(AuthenticationResponseFactory $authResponse, SettingsRepositoryInterface $settings) { $this->settings = $settings; $this->authResponse = $authResponse; } /** * {@inheritdoc} */ protected function getProvider($redirectUri) { return new Facebook([ 'clientId' => $this->settings->get('flarum-auth-facebook.app_id'), 'clientSecret' => $this->settings->get('flarum-auth-facebook.app_secret'), 'redirectUri' => $redirectUri, 'graphApiVersion' => 'v2.4', ]); } /** * {@inheritdoc} */ protected function getAuthorizationUrlOptions() { return ['scope' => ['email']]; } /** * {@inheritdoc} */ protected function getIdentification(ResourceOwnerInterface $resourceOwner) { return [ 'email' => $resourceOwner->getEmail() ]; } /** * {@inheritdoc} */ protected function getSuggestions(ResourceOwnerInterface $resourceOwner) { return [ 'username' => $resourceOwner->getName(), 'avatarUrl' => $resourceOwner->getPictureUrl() ]; } }