예제 #1
0
 /**
  * @return \Facebook\Entities\AccessToken
  * @throws Exception\CodeWasNotProvided
  */
 public function getAccessToken()
 {
     if (!($code = $this->getCode())) {
         throw new Exception\CodeWasNotProvided();
     }
     $accessToken = \Facebook\Entities\AccessToken::requestAccessToken(array('code' => $code, 'redirect_uri' => $this->getSettings()->getRedirect()));
     if ($accessToken) {
         return (string) $accessToken;
     }
     return false;
 }
예제 #2
0
 /**
  * @param array $oAuthConfig
  */
 public function __construct($oAuthConfig)
 {
     FacebookSession::setDefaultApplication($oAuthConfig['facebook']['app_id'], $oAuthConfig['facebook']['app_secret']);
     $accessToken = AccessToken::requestAccessToken(array('grant_type' => 'client_credentials'));
     $this->api = new FacebookSession($accessToken);
 }
 /**
  * Handles a response from Facebook, including a CSRF check, and returns a
  *   FacebookSession.
  *
  * @return FacebookSession|null
  */
 public function getSessionFromRedirect()
 {
     if ($this->isValidRedirect()) {
         $params = array('redirect_uri' => $this->getFilteredUri($this->getCurrentUri()), 'code' => $this->getCode());
         return new FacebookSession(AccessToken::requestAccessToken($params, $this->appId, $this->appSecret));
     }
     return null;
 }