class OpenIdAuthorizer extends BasicAuthorizer {

    @Override
    boolean isAdmin(String token) {
        Claims claims;
        if (this.loggedClaims.containsKey(token)) {
            // This is a username!
            claims = this.loggedClaims.get(token);
        } else {
            // Its a token
            try {
                claims = validateToken(token);
            } catch (JwtException e) {
                logger.warn("Unable to validate token {}!", token, e);
                return false;
            }
        }
        // Get available roles (from keycloack)
        List<String> availableRoles = ((Map<String, List<String>>) claims.get("realm_access")).get("roles");
        if (!availableRoles.contains(IOTDB_ADMIN_ROLE_NAME)) {
            logger.warn("Given Token has no admin rights, is there a ROLE with name {} in 'realm_access' role set?", IOTDB_ADMIN_ROLE_NAME);
            return false;
        }
        return true;
    }

    public  OpenIdAuthorizer();
      OpenIdAuthorizer(JSONObject jwk);
      OpenIdAuthorizer(String providerUrl);

}