/** * Twitter connect */ public function connectTwitter() { if (!empty($_GET['oauth_token'])) { $token = $this->session->retrieveAccessToken('Twitter'); // This was a callback request from twitter, get the token $this->service->requestAccessToken($_GET['oauth_token'], $_GET['oauth_verifier'], $token->getRequestTokenSecret()); // Send a request now that we have access token $result = json_decode($this->service->request('account/verify_credentials.json'), true); return $result; } elseif (isset($_GET['denied'])) { $denied = $_GET['denied']; return compact('denied'); } else { // extra request needed for oauth1 to request a request token :-) $token = $this->service->requestRequestToken(); $url = $this->service->getAuthorizationUri(array('oauth_token' => $token->getRequestToken())); header('Location: ' . $url); } }
/** * Authorization process * * @throws \Vegas\Security\OAuth\Exception\FailedAuthorizationException * @return \OAuth\Common\Http\Uri\UriInterface|string */ public function authorize() { $this->assertServiceInstance(); try { $request = $this->di->get('request'); $code = $request->getQuery('code', null); if (!is_null($code)) { $state = $request->getQuery('state', null); return $this->service->requestAccessToken($code, $state); } } catch (\OAuth\Common\Exception\Exception $ex) { throw new FailedAuthorizationException($ex->getMessage()); } }