/// <summary> /// Login to Minecraft.net and store credentials /// </summary> public void Login() { if (VerifyNames) { var loginHandler = new MinecraftNetInteraction(); var credentials = loginHandler.Login(ClientName, ClientPassword); if (credentials[0] == "") // -- Fall back to no auth. { RaiseError(this, "Failed to login to Minecraft.net! (Incorrect username or password)"); VerifyNames = false; } else { RaiseInfo(this, "Logged in to Minecraft.net successfully."); RaiseDebug(this, string.Format("Token: {0}\nProfile: {1}", credentials[0], credentials[1])); AccessToken = credentials[0]; SelectedProfile = credentials[1]; ClientToken = credentials[2]; ClientName = credentials[3]; } } else { AccessToken = "None"; SelectedProfile = "None"; } }
/// <summary> /// Uses a client's stored credentials to verify with Minecraft.net /// </summary> public bool VerifySession() { if (AccessToken == null || ClientToken == null) { RaiseError(this, "Credentials are not set!"); return(false); } var sessionVerifier = new MinecraftNetInteraction(); var response = sessionVerifier.SessionRefresh(AccessToken, ClientToken); if (response[0] == "") { RaiseError(this, "Unable to Verify Session!"); return(false); } RaiseInfo(this, "Credentials verified and refreshed!"); AccessToken = response[0]; ClientToken = response[1]; SelectedProfile = "Potato"; return(true); }
/// <summary> /// Uses a client's stored credentials to verify with Minecraft.net /// </summary> /// <param name="accessToken">Stored Access Token</param> /// <param name="clientToken">Stored Client Token</param> public bool VerifySession(string accessToken, string clientToken) { AccessToken = accessToken; ClientToken = clientToken; var sessionVerifier = new MinecraftNetInteraction(); var response = sessionVerifier.SessionRefresh(AccessToken, ClientToken); if (response[0] == "") { RaiseError(this, "Unable to Verify Session!"); return(false); } RaiseInfo(this, "Credentials verified and refreshed!"); AccessToken = response[0]; ClientToken = response[1]; return(true); }