Exemplo n.º 1
0
 /**
  * @param Request $request
  * @param User    $user
  *
  * @return array
  */
 public function handleOAuthCallback(Request $request, User $user = null)
 {
     $oauthVerifier = $request->get('oauth_verifier');
     $oauthToken = $request->get('oauth_token');
     $temporaryCredentials = $this->session->get('provider/' . $this->getName() . '/temporary_credentials');
     $tokenCredentials = $this->oauthClient->getTokenCredentials($temporaryCredentials, $oauthToken, $oauthVerifier);
     $userDetails = $this->oauthClient->getUserDetails($tokenCredentials);
     $accessToken = ['identifier' => $tokenCredentials->getIdentifier(), 'secret' => $tokenCredentials->getSecret(), 'username' => $userDetails->nickname];
     if (null !== $user) {
         $user->setProviderAccessToken($this->getName(), $accessToken);
     }
     return ['access_token' => $accessToken, 'scope' => null];
 }