View Javadoc
1   package info.ejava.examples.secureping.client;
2   
3   import java.io.IOException;
4   import java.util.Base64;
5   
6   import javax.ws.rs.client.ClientRequestContext;
7   import javax.ws.rs.client.ClientRequestFilter;
8   import javax.ws.rs.core.MultivaluedMap;
9   
10  import org.slf4j.Logger;
11  import org.slf4j.LoggerFactory;
12  
13  public class BasicAuthnFilter implements ClientRequestFilter {
14      private static final Logger logger = LoggerFactory.getLogger(BasicAuthnFilter.class);
15      private final String username;
16      private final String password;
17      private final String authn;
18      
19      public BasicAuthnFilter(String username, String password) {
20          this.username = username;
21          this.password = password;
22          String credentials = username + ":" + password;
23          authn = "Basic " + Base64.getEncoder().encodeToString(credentials.getBytes());
24      }
25  
26      @Override
27      public void filter(ClientRequestContext requestContext) throws IOException {
28          MultivaluedMap<String, Object> headers = requestContext.getHeaders();
29          headers.add("Authorization", authn);
30          logger.debug("added BASIC credentials[{}] for {}, {}", authn, username, password);
31      }
32  }