Skip to content

Instantly share code, notes, and snippets.

@itayher
Last active May 6, 2016 20:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save itayher/d0f5232febf0b48c38a34b07bcaaa69c to your computer and use it in GitHub Desktop.
Save itayher/d0f5232febf0b48c38a34b07bcaaa69c to your computer and use it in GitHub Desktop.

Android code with authentication to use with Back&:

com.backand.backandandroidsample;

import android.util.Base64;
import android.util.Log;

import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;

import javax.net.ssl.HttpsURLConnection;

public class BackandConnector {
    private String masterToken;
    private String userToken;
    private String appName;

    private final String TAG = "Backand";
    public BackandConnector(String appName, String userToken, String masterToken) {
        this.masterToken = masterToken;
        this.userToken = userToken;
        this.appName = appName;
    }

    public String sendGetRequest(URL url) {
        StringBuilder stringBuilder = new StringBuilder();
        String userNamePasswordCombination = this.masterToken + ":" + this.userToken;
        final String basicAuth = "Basic " +  Base64.encodeToString(userNamePasswordCombination.getBytes(), Base64.NO_WRAP);

        try {

            HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
            conn.setRequestMethod("GET");
            conn.setRequestProperty("Authorization", basicAuth);
            conn.setRequestProperty("Content-Type", "application/json");
            conn.setRequestProperty("AppName", this.appName);

            int responseCode = conn.getResponseCode();
            if (responseCode == HttpsURLConnection.HTTP_OK) {
                String line;
                InputStream in = conn.getInputStream();

                InputStreamReader isw = new InputStreamReader(in);

                int data = isw.read();
                while (data != -1) {
                    char current = (char) data;
                    data = isw.read();
                    stringBuilder.append(current);
                }
            } else {
                Log.d(TAG, "readRemoteJson: " + conn.getResponseMessage());
                return "";
            }
        } catch (Exception e) {
            Log.e(TAG, "readRemoteJson error: " + e.getMessage());
        }
        return  stringBuilder.toString();
    }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment