}
     }
     $user['refreshTokens'] = $liveRefreshTokens;
     if ($refreshToken['expire'] > $user['expire']) {
         $user['expire'] = $refreshToken['expire'];
     }
     if (($index = array_search($authorizationTokenId, $user['authorizationCodes'])) !== false) {
         unset($user['authorizationCodes'][$index]);
     }
 } else {
     $refreshToken = $authorizationToken;
 }
 if ($accessToken['expire'] > $refreshToken['expire']) {
     $accessToken['expire'] = $refreshToken['expire'];
 }
 $tokenStore->addAccessToken($accessToken);
 $liveAccessTokens = array($accessToken['id']);
 foreach ($user['accessTokens'] as $tokenId) {
     if (!is_null($tokenStore->getAccessToken($tokenId))) {
         array_push($liveAccessTokens, $tokenId);
     }
 }
 $user['accessTokens'] = $liveAccessTokens;
 if (isset($client['expire'])) {
     $clientGracePeriod = $config->getValue('client_grace_period', 30 * 24 * 60 * 60);
     $now = time();
     if ($client['expire'] < $now + $clientGracePeriod / 2) {
         $client['expire'] = $now + $clientGracePeriod;
         $clientStore->updateClient($client);
     }
     if ($client['expire'] > $user['expire']) {
 /**
  * @group unit
  * @group oauth2
  */
 public function testAccessTokenIsolation()
 {
     $store = new \sspmod_oauth2server_OAuth2_TokenStore($this->getDefaultConfiguration());
     $token1 = array('id' => 'dummy', 'expire' => time() + 1000);
     $store->addAccessToken($token1);
     $this->assertNull($store->getAuthorizationCode($token1['id']));
     $this->assertNull($store->getRefreshToken($token1['id']));
 }