Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.terminator_nl.UCL;
- import java.awt.CardLayout;
- import java.awt.Color;
- import java.io.BufferedReader;
- import java.io.InputStreamReader;
- import java.io.OutputStream;
- import java.net.HttpURLConnection;
- import java.net.URL;
- import java.net.URLConnection;
- public class Authenticator {
- public static int lastHTTPRESPONSE= 0;
- public static final int LOGGED_IN_SUCCESS = 0;
- public static final int MIGRATEDACCOUNT = 1;
- public static final int WRONGPASSWORD = 2;
- public static final int OTHER = 3;
- public static boolean isLaunchingGlobal = false;
- public static int isPasswordCorrect(String username, String password){
- int reply;
- try {
- String payload = "{\"agent\":{\"name\":\"Minecraft\",\"version\":1},\"password\":\"" + password + "\",\"username\":\"" + username + "\",\"clientToken\":\"b1629dd4-2d96-4e04-b35e-81638b10fc7d\"}";
- reply = Authenticator.httpRequest(new URL(GlobalVariables.URLAUTHENTICATION), payload);
- payload = null;
- } catch (Exception e) {
- e.printStackTrace();
- return OTHER;
- }
- username = "I dont like";
- password = "password thiefs";
- return reply;
- }
- static int httpRequest(URL url, String content) throws Exception {
- byte[] contentBytes = content.getBytes("UTF-8");
- URLConnection connection = url.openConnection();
- connection.setDoInput(true);
- connection.setDoOutput(true);
- connection.setRequestProperty("Accept-Charset", "UTF-8");
- connection.setRequestProperty("Content-Type", "application/json");
- connection.setRequestProperty("Content-Length", Integer.toString(contentBytes.length));
- OutputStream requestStream = connection.getOutputStream();
- requestStream.write(contentBytes, 0, contentBytes.length);
- requestStream.close();
- String response = "";
- BufferedReader responseStream;
- if (((HttpURLConnection) connection).getResponseCode() == 200) {
- responseStream = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
- } else {
- responseStream = new BufferedReader(new InputStreamReader(((HttpURLConnection) connection).getErrorStream(), "UTF-8"));
- }
- response = responseStream.readLine();
- responseStream.close();
- lastHTTPRESPONSE = ((HttpURLConnection) connection).getResponseCode();
- content = null;
- contentBytes = null;
- connection = null;
- if (lastHTTPRESPONSE == 200){
- return LOGGED_IN_SUCCESS;
- }else if(lastHTTPRESPONSE == 403){
- if(response.contains("migrate")){
- return MIGRATEDACCOUNT;
- }else if(response.contains("Invalid")){
- return WRONGPASSWORD;
- }
- }else{
- return OTHER;
- }
- return OTHER;
- }
- public static void PromptForPassword(boolean IsLaunching){
- isLaunchingGlobal = IsLaunching;
- System.out.println("Opening account window...");
- Launcher_GUI.Username.setEditable(IsLaunching == false);
- Launcher_GUI.btnLogIn.setEnabled(true);
- if(IsLaunching){
- Launcher_GUI.UserMessagePassword.setText("To change the username do: Abort -> Options -> Edit profile");
- Launcher_GUI.btnLogIn.setText("Log in");
- Launcher_GUI.CancelButton.setText("Abort launch");
- }else{
- Launcher_GUI.UserMessagePassword.setText("Please enter your minecraft credentials below.");
- Launcher_GUI.btnLogIn.setText("Confirm");
- Launcher_GUI.CancelButton.setText("Cancel");
- }
- CardLayout cardLayout = (CardLayout) Launcher_GUI.MainWindow.getLayout();
- cardLayout.show(Launcher_GUI.MainWindow, "TAB_ASKPASSWORD");
- new Thread(){
- @Override
- public void run(){
- int ReturnCode;
- do{
- synchronized(Main_WindowManager.passwordSubmitlock){
- try {
- Main_WindowManager.passwordSubmitlock.wait();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- Launcher_GUI.ProgressBarLoggingIn.setForeground(new Color(51, 153, 255));
- Launcher_GUI.ProgressBarLoggingIn.setString("Contacting Mojang...");
- Launcher_GUI.ProgressBarLoggingIn.setIndeterminate(true);
- ReturnCode = isPasswordCorrect(Launcher_GUI.Username.getText(), new String(Launcher_GUI.Password.getPassword()));
- Launcher_GUI.ProgressBarLoggingIn.setForeground(new Color(0, 0, 0, 0));
- Launcher_GUI.ProgressBarLoggingIn.setString("");
- Launcher_GUI.ProgressBarLoggingIn.setIndeterminate(false);
- if(ReturnCode == MIGRATEDACCOUNT){
- Launcher_GUI.UserMessagePassword.setText("Your account has been migrated, please use your E-mail address as username.");
- }else if(ReturnCode == WRONGPASSWORD){
- Launcher_GUI.UserMessagePassword.setText("Incorrect username or password");
- }else if(ReturnCode == OTHER){
- Launcher_GUI.UserMessagePassword.setText("An error has occurred. Please try again later.");
- }else if(ReturnCode == LOGGED_IN_SUCCESS){
- Launcher_GUI.UserMessagePassword.setText("Successfully logged in!");
- GlobalVariables.setJSONData("Username", Launcher_GUI.Username.getText());
- }
- }while(ReturnCode != LOGGED_IN_SUCCESS);
- Launcher_GUI.txtCurrentlyLoggedIn.setText("Logged in as: " + Launcher_GUI.Username.getText());
- synchronized(Main_WindowManager.PasswordInputLock){
- Main_WindowManager.PasswordInputLock.notify();
- }
- }
- }.start();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement