package com.sap.hana.cloud.samples.benefits.connectivity.http.headers; import java.nio.charset.StandardCharsets; import javax.xml.bind.DatatypeConverter; import com.sap.core.connectivity.api.authentication.AuthenticationHeader; import com.sap.core.connectivity.api.configuration.DestinationConfiguration; @SuppressWarnings("nls") public class BasicAuthenticationHeaderProvider { private static final String BASIC_AUTHENTICATION_PREFIX = "Basic "; private static final String SEPARATOR = ":"; private static final String AUTHORIZATION_HEADER = "Authorization"; private static final String PASSWORD_PROPERTY = "Password"; private static final String USER_PROPERTY = "User"; public AuthenticationHeader getAuthenticationHeader(DestinationConfiguration destinationConfiguration) { StringBuilder userPass = new StringBuilder(); userPass.append(destinationConfiguration.getProperty(USER_PROPERTY)); userPass.append(SEPARATOR); userPass.append(destinationConfiguration.getProperty(PASSWORD_PROPERTY)); String encodedPassword = DatatypeConverter.printBase64Binary(userPass.toString().getBytes(StandardCharsets.UTF_8)); AuthenticationHeaderImpl basicAuthentication = new AuthenticationHeaderImpl(AUTHORIZATION_HEADER, BASIC_AUTHENTICATION_PREFIX + encodedPassword); return basicAuthentication; } }