class BaseOauth2Service implements Oauth2Service {

    @Override
    public URI getAuthorizationRequestUri(Map<String, String> headers, Parameters parameters) throws IOException {

        return UriBuilder.fromUri(getAuthorizationEndpoint(parameters))
            .queryParam(Parameters.RESPONSE_TYPE, ResponseType.CODE.toString())
            .queryParam(Parameters.STATE, parameters.getState())
            .queryParam(Parameters.REDIRECT_URI, parameters.getRedirectUri())
            .queryParam(Parameters.SCOPE, parameters.getScope())
            .build();
    }

    public  BaseOauth2Service(Aspsp aspsp, HttpClient httpClient);

}