Skip to content

Commit

Permalink
Polish contribution
Browse files Browse the repository at this point in the history
  • Loading branch information
joshiste committed Aug 13, 2020
1 parent 532bca2 commit 40eeb16
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -139,8 +139,14 @@ protected static class HttpHeadersProviderConfiguration {
@ConditionalOnMissingBean
public BasicAuthHttpHeaderProvider basicAuthHttpHeadersProvider(AdminServerProperties adminServerProperties) {
AdminServerProperties.InstanceAuthProperties instanceAuth = adminServerProperties.getInstanceAuth();
return BasicAuthHttpHeaderProvider.of(instanceAuth.isEnabled(), instanceAuth.getDefaultUserName(),
instanceAuth.getDefaultPassword(), instanceAuth.getServiceMap());

if (instanceAuth.isEnabled()) {
return new BasicAuthHttpHeaderProvider(instanceAuth.getDefaultUserName(),
instanceAuth.getDefaultPassword(), instanceAuth.getServiceMap());
}
else {
return new BasicAuthHttpHeaderProvider();
}
}

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
package de.codecentric.boot.admin.server.web.client;

import java.nio.charset.StandardCharsets;
import java.util.Collections;
import java.util.Map;

import javax.annotation.Nullable;
Expand All @@ -35,36 +36,46 @@
*
* @author Johannes Edmeier
*/
@lombok.Data
@lombok.AllArgsConstructor(staticName = "of")
@lombok.NoArgsConstructor
public class BasicAuthHttpHeaderProvider implements HttpHeadersProvider {

private static final String[] USERNAME_KEYS = { "user.name", "user-name", "username" };

private static final String[] PASSWORD_KEYS = { "user.password", "user-password", "userpassword" };

private Boolean instanceAuthEnabled = Boolean.FALSE;
@Nullable
private final String defaultUserName;

private String defaultUserName;
@Nullable
private final String defaultPassword;

private String defaultPassword;
private final Map<String, InstanceCredentials> serviceMap;

private Map<String, InstanceCredentials> serviceMap;
public BasicAuthHttpHeaderProvider(@Nullable String defaultUserName, @Nullable String defaultPassword,
Map<String, InstanceCredentials> serviceMap) {
this.defaultUserName = defaultUserName;
this.defaultPassword = defaultPassword;
this.serviceMap = serviceMap;
}

public BasicAuthHttpHeaderProvider() {
this(null, null, Collections.emptyMap());
}

@Override
public HttpHeaders getHeaders(Instance instance) {
String username = getMetadataValue(instance, USERNAME_KEYS);
String password = getMetadataValue(instance, PASSWORD_KEYS);

if (this.instanceAuthEnabled && !(StringUtils.hasText(username) && StringUtils.hasText(password))) {
if (!(StringUtils.hasText(username) && StringUtils.hasText(password))) {
String registeredName = instance.getRegistration().getName();
username = this.defaultUserName;
password = this.defaultPassword;
if (serviceMap.containsKey(registeredName)) {
InstanceCredentials creds = serviceMap.get(registeredName);
username = creds.getUserName();
password = creds.getUserPassword();
InstanceCredentials credentials = this.serviceMap.get(registeredName);
if (credentials != null) {
username = credentials.getUserName();
password = credentials.getUserPassword();
}
else {
username = this.defaultUserName;
password = this.defaultPassword;
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public class BasicAuthHttpHeaderProviderTest {

private final BasicAuthHttpHeaderProvider headersProvider = new BasicAuthHttpHeaderProvider();

private final BasicAuthHttpHeaderProvider headersProviderEnableInstanceAuth = BasicAuthHttpHeaderProvider.of(true,
private final BasicAuthHttpHeaderProvider headersProviderEnableInstanceAuth = new BasicAuthHttpHeaderProvider(
"client", "client", Collections.singletonMap("sb-admin-server", InstanceCredentials.of("admin", "admin")));

@Test
Expand Down

0 comments on commit 40eeb16

Please sign in to comment.