コード例 #1
0
ファイル: Auth.php プロジェクト: veksa/php-social
 public function authenticate(array $request, $redirectUri = null)
 {
     $token = $this->requestAccessToken($request, $redirectUri);
     if ($token == null) {
         return null;
     }
     $token = $this->parseToken($token);
     if (!$this->isValidToken($token)) {
         $this->setError(Error::createFromRequest($request, Error::INVALID_TOKEN));
         return null;
     }
     return $this->token = $this->createToken($token);
 }
コード例 #2
0
ファイル: OAuth1.php プロジェクト: veksa/php-social
 protected function requestAccessToken(array $request, $redirectUri)
 {
     self::getStorage()->delete($this->getStorageKey());
     if (!isset($request['oauth_verifier'])) {
         $this->setError(Error::createFromRequest($request, Error::INVALID_VERIFIER));
         return null;
     }
     $parameters = array('oauth_verifier' => $request['oauth_verifier']);
     $data = $this->execOAuthRequest('GET', $this->getAccessTokenUrl(), $parameters);
     if (false === strpos($data, '&')) {
         $this->setError(Error::createFromRequest($data));
         return null;
     }
     return $data;
 }
コード例 #3
0
ファイル: OAuth2.php プロジェクト: veksa/php-social
 protected function requestAccessToken(array $request, $redirectUri)
 {
     if (!isset($request['code'])) {
         $this->setError(Error::createFromRequest($request, Error::INVALID_CODE));
         return null;
     }
     $code = (string) $request['code'];
     $parameters = array('client_id' => $this->getId(), 'client_secret' => $this->getSecret(), 'redirect_uri' => $redirectUri, 'code' => $code, 'grant_type' => 'authorization_code');
     $body = $this->execPost($this->getTokenUrl(), $parameters);
     $data = json_decode($body, true);
     if ($data == null) {
         return $body;
     }
     return $data;
 }