コード例 #1
0
 /**
  * Revoke an OAuth2 access token or refresh token. This method will revoke the current access
  * token, if a token isn't provided.
  * @throws Exception
  * @param string|null $token The token (access token or a refresh token) that should be revoked.
  * @return boolean Returns True if the revocation was successful, otherwise False.
  */
 public function revokeToken($token = null)
 {
     if (!$token) {
         if (!$this->token) {
             // Not initialized, no token to actually revoke
             return false;
         } elseif (array_key_exists('refresh_token', $this->token)) {
             $token = $this->token['refresh_token'];
         } else {
             $token = $this->token['access_token'];
         }
     }
     $request = new Request(self::OAUTH2_REVOKE_URI, 'POST', array(), "token={$token}");
     $request->disableGzip();
     $response = $this->client->getIo()->makeRequest($request);
     $code = $response->getResponseHttpCode();
     if ($code == 200) {
         $this->token = null;
         return true;
     }
     return false;
 }