private JwtSignatureValidator getJwtSignatureValidator(String jwtApiKeyId) {

    ApiKey apiKey = dataStore.getApiKey();

    if (apiKey.getId().equals(jwtApiKeyId)) {
      return new JwtSignatureValidator(apiKey);
    }

    throw new InvalidJwtException(InvalidJwtException.JWT_RESPONSE_INVALID_APIKEY_ID_ERROR);
  }
  public DefaultIdSiteCallbackHandler(
      InternalDataStore dataStore, Application application, Object httpRequest) {
    Assert.notNull(dataStore, "datastore cannot be null or empty.");
    Assert.notNull(application, "application cannot be null.");
    Assert.notNull(httpRequest, "httpRequest cannot be null.");

    this.dataStore = dataStore;
    this.application = application;
    this.jwtResponse = getJwtResponse(httpRequest);
    this.nonceStore = new DefaultNonceStore(dataStore.getCacheResolver());
  }