public static Session DoLogin(string username, string password) { ServicePointManager.ServerCertificateValidationCallback += (s, ce, ch, errors) => { // TODO: This is a really nasty hack. Why doesn't Mono recognize this cert anyway? return ce.GetCertHashString() == "126B6351DC3039B2A244115F3766C038F4DBBC2A"; }; var serializer = new JsonSerializer(); try { var request = (HttpWebRequest)WebRequest.Create("https://authserver.mojang.com/authenticate"); request.ContentType = "application/json"; request.Method = "POST"; var token = Guid.NewGuid().ToString(); var blob = new AuthenticationBlob(username, password, token); var json = JsonConvert.SerializeObject(blob); var stream = request.GetRequestStream(); using (var writer = new StreamWriter(stream)) writer.Write(json); var response = request.GetResponse(); stream = response.GetResponseStream(); var session = serializer.Deserialize<Session>(new JsonTextReader(new StreamReader(stream))); session.UserName = username; return session; } catch (WebException e) { var stream = e.Response.GetResponseStream(); var json = new StreamReader(stream).ReadToEnd(); stream.Close(); throw JsonConvert.DeserializeObject<MinecraftAuthenticationException>(json); } }
public static Session DoLogin(string username, string password) { var serializer = new JsonSerializer(); try { var request = (HttpWebRequest)WebRequest.Create("https://authserver.mojang.com/authenticate"); request.ContentType = "application/json"; request.Method = "POST"; var token = Guid.NewGuid().ToString(); var blob = new AuthenticationBlob(username, password, token); var json = JsonConvert.SerializeObject(blob); var stream = request.GetRequestStream(); using (var writer = new StreamWriter(stream)) writer.Write(json); var response = request.GetResponse(); stream = response.GetResponseStream(); var session = serializer.Deserialize <Session>(new JsonTextReader(new StreamReader(stream))); session.UserName = username; return(session); } catch (WebException e) { var stream = e.Response.GetResponseStream(); var json = new StreamReader(stream).ReadToEnd(); stream.Close(); throw JsonConvert.DeserializeObject <MinecraftAuthenticationException>(json); } }
public static Session DoLogin(string username, string password) { var serializer = new JsonSerializer(); try { var request = (HttpWebRequest)WebRequest.Create("https://authserver.mojang.com/authenticate"); request.ContentType = "application/json"; request.Method = "POST"; var token = Guid.NewGuid().ToString(); var blob = new AuthenticationBlob(username, password, token); var json = JsonConvert.SerializeObject(blob); var stream = request.GetRequestStream(); using (var writer = new StreamWriter(stream)) writer.Write(json); var response = request.GetResponse(); stream = response.GetResponseStream(); var session = serializer.Deserialize<Session>(new JsonTextReader(new StreamReader(stream))); session.UserName = username; return session; } catch (WebException e) { var stream = e.Response.GetResponseStream(); var json = new StreamReader(stream).ReadToEnd(); stream.Close(); throw JsonConvert.DeserializeObject<MinecraftAuthenticationException>(json); } }