$tokenStore = new sspmod_oauth2server_OAuth2_TokenStore($config);
$userStore = new sspmod_oauth2server_OAuth2_UserStore($config);
$attributes = $as->getAttributes();
$user = $userStore->getUser($attributes[$idAttribute][0]);
if (!is_null($user) && isset($_REQUEST['tokenId'])) {
    if (array_search($_REQUEST['tokenId'], $user['authorizationCodes']) !== false) {
        $token = $tokenStore->getAuthorizationCode($_REQUEST['tokenId']);
        if (is_array($token) && isset($_POST['revoke'])) {
            $tokenStore->removeAuthorizationCode($_REQUEST['tokenId']);
            SimpleSAML\Utils\HTTP::redirectTrustedURL(SimpleSAML_Module::getModuleURL('oauth2server/manage/status.php'));
        }
    } else {
        if (array_search($_REQUEST['tokenId'], $user['refreshTokens']) !== false) {
            $token = $tokenStore->getRefreshToken($_REQUEST['tokenId']);
            if (is_array($token) && isset($_POST['revoke'])) {
                $tokenStore->removeRefreshToken($_REQUEST['tokenId']);
                SimpleSAML\Utils\HTTP::redirectTrustedURL(SimpleSAML_Module::getModuleURL('oauth2server/manage/status.php'));
            }
        } else {
            if (array_search($_REQUEST['tokenId'], $user['accessTokens']) !== false) {
                $token = $tokenStore->getAccessToken($_REQUEST['tokenId']);
                if (is_array($token) && isset($_POST['revoke'])) {
                    $tokenStore->removeAccessToken($_REQUEST['tokenId']);
                    SimpleSAML\Utils\HTTP::redirectTrustedURL(SimpleSAML_Module::getModuleURL('oauth2server/manage/status.php'));
                }
            }
        }
    }
}
$globalConfig = SimpleSAML_Configuration::getInstance();
$t = new SimpleSAML_XHTML_Template($globalConfig, 'oauth2server:manage/token.php');
     $token = $tokenStore->getAuthorizationCode($id);
     if (!is_null($token)) {
         if (isset($_REQUEST['tokenId']) && $id === $_REQUEST['tokenId']) {
             $tokenStore->removeAuthorizationCode($id);
         } else {
             array_push($authorizationCodes, $token);
             array_push($liveAuthorizationCodes, $token['id']);
         }
     }
 }
 $liveRefreshTokens = array();
 foreach ($user['refreshTokens'] as $id) {
     $token = $tokenStore->getRefreshToken($id);
     if (!is_null($token)) {
         if (isset($_REQUEST['tokenId']) && $id === $_REQUEST['tokenId']) {
             $tokenStore->removeRefreshToken($id);
         } else {
             array_push($refreshTokens, $token);
             array_push($liveRefreshTokens, $token['id']);
         }
     }
 }
 $liveAccessTokens = array();
 foreach ($user['accessTokens'] as $id) {
     $token = $tokenStore->getAccessToken($id);
     if (!is_null($token)) {
         if (isset($_REQUEST['tokenId']) && $id === $_REQUEST['tokenId']) {
             $tokenStore->removeAccessToken($id);
         } else {
             array_push($accessTokens, $token);
             array_push($liveAccessTokens, $token['id']);
 /**
  * @group unit
  * @group oauth2
  */
 public function testRemoveRefreshToken()
 {
     $store = new \sspmod_oauth2server_OAuth2_TokenStore($this->getDefaultConfiguration());
     $token1 = array('id' => 'dummy', 'expire' => time() + 1000);
     $store->addRefreshToken($token1);
     $token2 = $store->getRefreshToken($token1['id']);
     $this->assertNotNull($token2);
     $this->assertEquals($token1['id'], $token2['id']);
     $store->removeRefreshToken($token2['id']);
     $token3 = $store->getRefreshToken($token2['id']);
     $this->assertNull($token3);
 }