Fetches OAuth access token.
public fetchAccessToken ( string $oauthToken = null, |
||
$oauthToken | string | OAuth token returned with redirection back to client. |
$requestToken | OAuth request token. | |
$oauthVerifier | string | OAuth verifier. |
$params | array | additional request params. |
return | OAuth access token. |
/** * @return bool * @throws Exception * @throws Exception */ public function connect() { if ($this->service instanceof OAuth1) { try { $accessToken = $this->service->fetchAccessToken(); return $this->isConnected($accessToken); } catch (Exception $e) { Yii::$app->session->setFlash($this->flash, $e->getMessage()); return false; } } elseif ($this->service instanceof OAuth2) { try { $accessToken = $this->service->fetchAccessToken(Yii::$app->request->get('code', null)); return $this->isConnected($accessToken); } catch (Exception $e) { Yii::$app->session->setFlash($this->flash, $e->getMessage()); return false; } } else { throw new Exception(Yii::t('SyncSocial', 'SyncSocial is not support {serviceName}.', ['serviceName' => get_class($this->service)])); } }
/** * Performs OAuth1 auth flow. * @param OAuth1 $client auth client instance. * @return Response action response. */ protected function authOAuth1($client) { // user denied error if (isset($_GET['denied'])) { return $this->redirectCancel(); } if (isset($_REQUEST['oauth_token'])) { $oauthToken = $_REQUEST['oauth_token']; } if (!isset($oauthToken)) { // Get request token. $requestToken = $client->fetchRequestToken(); // Get authorization URL. $url = $client->buildAuthUrl($requestToken); // Redirect to authorization URL. return Yii::$app->getResponse()->redirect($url); } else { // Upgrade to access token. $client->fetchAccessToken(); return $this->authSuccess($client); } }