Keycloak keydepose:SPI中的出站SSL连接

Keycloak keydepose:SPI中的出站SSL连接,keycloak,Keycloak,我正在为KeyClope 4.x实现一个自定义OIDC协议映射器。在内部,我必须建立https连接,该连接当前失败,因为我没有在http连接上配置truststore 我已将truststore SPI添加到我的standalone.xml(如下所述): 但我不知道如何获取使用此信任库的HttpClient实例。我试过: org.apache.http.client.HttpClient-HttpClient=new org.keydape.connections.HttpClient.Ht

我正在为KeyClope 4.x实现一个自定义OIDC协议映射器。在内部,我必须建立https连接,该连接当前失败,因为我没有在http连接上配置truststore

我已将truststore SPI添加到我的standalone.xml(如下所述):


但我不知道如何获取使用此信任库的HttpClient实例。我试过:

org.apache.http.client.HttpClient-HttpClient=new org.keydape.connections.HttpClient.HttpClientBuilder().build()

DefaultHttpClientFactory=新的DefaultHttpClientFactory(); HttpClientProvider HttpClientProvider=factory.create((keydeposition)会话); 返回httpClientProvider.getHttpClient()

而第一个没有配置truststore,第二个由于NPE而失败

那么,如何获得使用我的truststore SPI的出站http连接呢?

请参阅

我的实现如下,它使用KeyClope的Truststore SPI:

private org.apache.http.client.HttpClient getConnection(org.keycloak.models.KeycloakSession session) {
    org.keycloak.connections.httpclient.HttpClientProvider cp = session.getProvider(org.keycloak.connections.httpclient.HttpClientProvider.class);
    HttpClient httpClient = cp.getHttpClient();
    return httpClient;
}
private org.apache.http.client.HttpClient getConnection(org.keycloak.models.KeycloakSession session) {
    org.keycloak.connections.httpclient.HttpClientProvider cp = session.getProvider(org.keycloak.connections.httpclient.HttpClientProvider.class);
    HttpClient httpClient = cp.getHttpClient();
    return httpClient;
}