Exemple #1
0
 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);
     }
 }
Exemple #2
0
        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);
            }
        }
Exemple #3
0
 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);
     }
 }