Exemplo n.º 1
0
        /// <summary>
        /// Refreshes this session, so it may be used again. You will need to re-save it if you've
        /// saved it to disk.
        /// </summary>
        public void Refresh()
        {
            if (!OnlineMode)
            {
                throw new InvalidOperationException("This is an offline-mode session.");
            }
            var serializer = new JsonSerializer();

            try
            {
                var request = (HttpWebRequest)WebRequest.Create("https://authserver.mojang.com/refresh");
                request.ContentType = "application/json";
                request.Method      = "POST";
                var blob   = new RefreshBlob(this);
                var stream = request.GetRequestStream();
                serializer.Serialize(new StreamWriter(stream), blob);
                stream.Close();
                var response = request.GetResponse();
                stream               = response.GetResponseStream();
                blob                 = serializer.Deserialize <RefreshBlob>(new JsonTextReader(new StreamReader(stream)));
                this.AccessToken     = blob.AccessToken;
                this.ClientToken     = blob.ClientToken;
                this.User            = blob.User;
                this.SelectedProfile = blob.SelectedProfile;
                // TODO: Add profile to available profiles if need be
            }
            catch (WebException e)
            {
                var stream = e.Response.GetResponseStream();
                throw serializer.Deserialize <WebException>(new JsonTextReader(new StreamReader(stream)));
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// Refreshes this session, so it may be used again. You will need to re-save it if you've
 /// saved it to disk.
 /// </summary>
 public void Refresh()
 {
     if (!OnlineMode)
         throw new InvalidOperationException("This is an offline-mode session.");
     var serializer = new JsonSerializer();
     try
     {
         var request = (HttpWebRequest)WebRequest.Create("https://authserver.mojang.com/authenticate");
         request.ContentType = "application/json";
         request.Method = "POST";
         var blob = new RefreshBlob(this);
         var stream = request.GetRequestStream();
         serializer.Serialize(new StreamWriter(stream), blob);
         stream.Close();
         var response = request.GetResponse();
         stream = response.GetResponseStream();
         blob = serializer.Deserialize<RefreshBlob>(new JsonTextReader(new StreamReader(stream)));
         this.AccessToken = blob.AccessToken;
         this.ClientToken = blob.ClientToken;
         this.SelectedProfile = blob.SelectedProfile;
         // TODO: Add profile to available profiles if need be
     }
     catch (WebException e)
     {
         var stream = e.Response.GetResponseStream();
         throw serializer.Deserialize<WebException>(new JsonTextReader(new StreamReader(stream)));
     }
 }