All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.libgraviton.gdk.auth.BasicAuth Maven / Gradle / Ivy

There is a newer version: 0.4.0
Show newest version
package com.github.libgraviton.gdk.auth;

import com.github.libgraviton.gdk.api.header.HeaderBag;
import okio.ByteString;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.nio.charset.Charset;


public class BasicAuth implements HeaderAuth {

    private static final Logger LOG = LoggerFactory.getLogger(BasicAuth.class);

    private String username;
    private String password;

    public BasicAuth(String username, String password) {
        this.username = username;
        this.password = password;
    }

    @Override
    public void addHeader(HeaderBag.Builder headerBuilder) {
        LOG.debug("Add basic auth header to request");
        headerBuilder.set("Authorization", basic());
    }

    public String basic() {
        return basic(Charset.forName("ISO-8859-1"));
    }

    public String basic(Charset charset) {
        String usernameAndPassword = username + ":" + password;
        byte[] bytes = usernameAndPassword.getBytes(charset);
        String encoded = ByteString.of(bytes).base64();
        return "Basic " + encoded;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy