/**
* @param array $spec
* @return Token
*/
private function getTokenWithout(array $spec)
{
$mappings = [self::VALID_USER_ID => new PublicClaim('userId', self::USER_ID), self::VALID_GROUP_ID => new PublicClaim('groupId', self::GROUP_ID), self::VALID_APP_ID => new PublicClaim('appId', self::APP_ID), self::VALID_EXPIRY_DATE => new PublicClaim('exp', $this->getNonExpiredDate()), self::VALID_IS_ADMIN => new PublicClaim('isAdmin', self::IS_ADMIN), self::VALID_SEGMENTS => new PublicClaim('segments', $this->testSegments)];
$spec = array_diff(array_keys($mappings), $spec);
$token = new Token();
foreach ($spec as $desiredClaim) {
$token->addClaim($mappings[$desiredClaim]);
}
return $token;
}