/** * validate the response from facebook */ protected function executeProcessOAuth2Response() { $this->tokenError = null; $appId = $this->getFromConfig(FacebookConstants::FACEBOOK_APP_ID_REQUEST_PARAM); $appSecret = $this->getFromConfig(FacebookConstants::FACEBOOK_APP_SECRET_REQUEST_PARAM); $pageId = base64_decode($this->getRequestParameter(FacebookConstants::FACEBOOK_PAGE_ID_REQUEST_PARAM)); $providerId = base64_decode($this->getRequestParameter(FacebookConstants::FACEBOOK_PROVIDER_ID_REQUEST_PARAM)); $ks = $this->getRequestParameter(FacebookConstants::FACEBOOK_KS_REQUEST_PARAM); $permissions = explode(',', base64_decode($this->getRequestParameter(FacebookConstants::FACEBOOK_PERMISSIONS_REQUEST_PARAM))); try { $accessURL = $this->getFacebookDistributionAccessURL($providerId, $ks); $dataHandler = new kDistributionPersistentDataHandler($accessURL); $userAccessToken = FacebookGraphSdkUtils::getLongLivedUserAccessToken($appId, $appSecret, $dataHandler, $permissions); if ($userAccessToken) { $pageAccessToken = FacebookGraphSdkUtils::getPageAccessToken($appId, $appSecret, $userAccessToken, $pageId, $dataHandler); if ($pageAccessToken) { $dataHandler->set('userAccessToken', $userAccessToken); $dataHandler->set('pageAccessToken', $pageAccessToken); } } } catch (Exception $e) { $this->tokenError = true; $this->errorMessage = $e->getMessage(); } }