changeset 2742:75ca7e4f3226

[Keycloak] Remove credentials from agent.properties. Reviewed-by: jkang Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2017-August/024664.html
author Severin Gehwolf <sgehwolf@redhat.com>
date Wed, 23 Aug 2017 18:53:32 +0200
parents c245bf78f9cb
children 915993144f20
files agent/core/src/main/java/com/redhat/thermostat/agent/config/AgentConfigsUtils.java agent/core/src/main/java/com/redhat/thermostat/agent/config/AgentProperties.java agent/core/src/main/java/com/redhat/thermostat/agent/config/AgentStartupConfiguration.java agent/core/src/main/java/com/redhat/thermostat/agent/http/HttpRequestService.java agent/core/src/test/java/com/redhat/thermostat/agent/http/HttpRequestServiceTest.java distribution/config/agent.properties
diffstat 6 files changed, 11 insertions(+), 35 deletions(-) [+]
line wrap: on
line diff
--- a/agent/core/src/main/java/com/redhat/thermostat/agent/config/AgentConfigsUtils.java	Mon Aug 28 08:17:05 2017 -0400
+++ b/agent/core/src/main/java/com/redhat/thermostat/agent/config/AgentConfigsUtils.java	Wed Aug 23 18:53:32 2017 +0200
@@ -99,8 +99,6 @@
             configuration.setKeycloakRealm(properties.getProperty(AgentProperties.KEYCLOAK_REALM.name()));
             configuration.setKeycloakUrl(properties.getProperty(AgentProperties.KEYCLOAK_URL.name()));
             configuration.setKeycloakClient(properties.getProperty(AgentProperties.KEYCLOAK_CLIENT.name()));
-            configuration.setKeycloakUsername(properties.getProperty(AgentProperties.KEYCLOAK_USERNAME.name()));
-            configuration.setKeycloakPassword(properties.getProperty(AgentProperties.KEYCLOAK_PASSWORD.name()));
         } else {
             configuration.setKeycloakEnabled(false);
         }
--- a/agent/core/src/main/java/com/redhat/thermostat/agent/config/AgentProperties.java	Mon Aug 28 08:17:05 2017 -0400
+++ b/agent/core/src/main/java/com/redhat/thermostat/agent/config/AgentProperties.java	Wed Aug 23 18:53:32 2017 +0200
@@ -45,7 +45,5 @@
     KEYCLOAK_URL,
     KEYCLOAK_REALM,
     KEYCLOAK_CLIENT,
-    KEYCLOAK_USERNAME,
-    KEYCLOAK_PASSWORD
 }
 
--- a/agent/core/src/main/java/com/redhat/thermostat/agent/config/AgentStartupConfiguration.java	Mon Aug 28 08:17:05 2017 -0400
+++ b/agent/core/src/main/java/com/redhat/thermostat/agent/config/AgentStartupConfiguration.java	Wed Aug 23 18:53:32 2017 +0200
@@ -48,8 +48,6 @@
     private String keycloakUrl;
     private String keycloakRealm;
     private String keycloakClient;
-    private String keycloakUsername;
-    private String keycloakPassword;
     
     AgentStartupConfiguration() {
     }
@@ -96,22 +94,6 @@
         this.keycloakClient = keycloakClient;
     }
 
-    public String getKeycloakUsername() {
-        return keycloakUsername;
-    }
-
-    public void setKeycloakUsername(String keycloakUsername) {
-        this.keycloakUsername = keycloakUsername;
-    }
-
-    public String getKeycloakPassword() {
-        return keycloakPassword;
-    }
-
-    public void setKeycloakPassword(String keycloakPassword) {
-        this.keycloakPassword = keycloakPassword;
-    }
-
     public boolean isKeycloakEnabled() {
         return keycloakEnabled;
     }
--- a/agent/core/src/main/java/com/redhat/thermostat/agent/http/HttpRequestService.java	Mon Aug 28 08:17:05 2017 -0400
+++ b/agent/core/src/main/java/com/redhat/thermostat/agent/http/HttpRequestService.java	Wed Aug 23 18:53:32 2017 +0200
@@ -212,9 +212,11 @@
     }
 
     private String getKeycloakAccessPayload() {
+        String username = creds.getUsername();
+        String password = new String(creds.getPassword());
         return "grant_type=password&client_id=" + agentStartupConfiguration.getKeycloakClient() +
-                "&username=" + agentStartupConfiguration.getKeycloakUsername() +
-                "&password=" + agentStartupConfiguration.getKeycloakPassword();
+                "&username=" + username +
+                "&password=" + password;
     }
 
     private String getKeycloakRefreshPayload() {
@@ -222,7 +224,7 @@
                 "&refresh_token=" + keycloakAccessToken.getRefreshToken();
     }
     
-    String getBasicAuthHeaderValue() {
+    private String getBasicAuthHeaderValue() {
         String username = creds.getUsername();
         char[] pwdChar = creds.getPassword();
         String userpassword;
--- a/agent/core/src/test/java/com/redhat/thermostat/agent/http/HttpRequestServiceTest.java	Mon Aug 28 08:17:05 2017 -0400
+++ b/agent/core/src/test/java/com/redhat/thermostat/agent/http/HttpRequestServiceTest.java	Wed Aug 23 18:53:32 2017 +0200
@@ -80,8 +80,8 @@
     private static final URI GET_URI = GATEWAY_URI.resolve("?q=foo&l=3");
     private static final String payload = "{}";
     private static final String keycloakUrl = "http://127.0.0.1:31000/keycloak";
-    private static final char[] BASIC_PASSWORD = new char[] { 'p', 'a', 's', 's' };
-    private static final String BASIC_USERNAME = "testing";
+    private static final char[] PASSWORD = new char[] { 'p', 'a', 's', 's' };
+    private static final String USERNAME = "testing";
 
     private HttpClientCreator clientCreator;
     private ConfigCreator configCreator;
@@ -102,8 +102,8 @@
         configCreator = mock(ConfigCreator.class);
         credsCreator = mock(CredentialsCreator.class);
         StorageCredentials creds = mock(StorageCredentials.class);
-        when(creds.getPassword()).thenReturn(BASIC_PASSWORD);
-        when(creds.getUsername()).thenReturn(BASIC_USERNAME);
+        when(creds.getPassword()).thenReturn(PASSWORD);
+        when(creds.getUsername()).thenReturn(USERNAME);
         when(credsCreator.create(any(CommonPaths.class))).thenReturn(creds);
     }
 
@@ -209,7 +209,7 @@
         assertTrue(authValueEncoded.startsWith("Basic "));
         String userPassEncoded = authValueEncoded.substring("Basic ".length());
         String decodedUserPass = getDecodedUserPass(userPassEncoded);
-        String expectedCreds = BASIC_USERNAME + ":" + new String(BASIC_PASSWORD);
+        String expectedCreds = USERNAME + ":" + new String(PASSWORD);
         assertEquals(expectedCreds, decodedUserPass);
         verify(httpRequest).method(eq(HttpMethod.GET));
         verify(httpRequest).send();
@@ -305,8 +305,6 @@
         when(configuration.getKeycloakUrl()).thenReturn(keycloakUrl);
         when(configuration.getKeycloakClient()).thenReturn("client");
         when(configuration.getKeycloakRealm()).thenReturn("realm");
-        when(configuration.getKeycloakUsername()).thenReturn("username");
-        when(configuration.getKeycloakPassword()).thenReturn("password");
     }
 
     private void setupKeycloakRequest(Request keycloakRequest) throws InterruptedException, ExecutionException, TimeoutException {
@@ -336,7 +334,7 @@
         verify(keycloakRequest).method(eq(HttpMethod.POST));
         verify(keycloakRequest).send();
 
-        String expected = "grant_type=password&client_id=client&username=username&password=password";
+        String expected = "grant_type=password&client_id=client&username=" + USERNAME + "&password=" + new String(PASSWORD);
 
         StringContentProvider provider = payloadCaptor.getValue();
         for (ByteBuffer buffer : provider) {
--- a/distribution/config/agent.properties	Mon Aug 28 08:17:05 2017 -0400
+++ b/distribution/config/agent.properties	Wed Aug 23 18:53:32 2017 +0200
@@ -7,5 +7,3 @@
 KEYCLOAK_URL=http://127.0.0.1:31000
 KEYCLOAK_REALM=thermostat
 KEYCLOAK_CLIENT=thermostat-web-client
-KEYCLOAK_USERNAME=tms-write
-KEYCLOAK_PASSWORD=tms-pass
\ No newline at end of file