Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Xbox live login fails #14

Closed
gioiann opened this issue Aug 8, 2019 · 11 comments
Closed

Xbox live login fails #14

gioiann opened this issue Aug 8, 2019 · 11 comments
Labels
bug Something isn't working

Comments

@gioiann
Copy link

gioiann commented Aug 8, 2019

panic: error obtaining Live token: error decoding flowtoken XML container: EOF

This error started happening really often, then it went away and now it seems like it happens everytime.

I tried with different accounts and also different IPs in case Microsoft blocked my IP because of suspicious login attempts.
I also tried creating a new account using a new residential IP and then use the same IP to login with gophertunnel API, it's not working, same error but I'm able to login using minecraft

@Sandertv
Copy link
Owner

Sandertv commented Aug 8, 2019

Had some reports of this. Probably some Microsoft account login changes. I'll fix it when I get the time.

@Sandertv Sandertv added the bug Something isn't working label Aug 8, 2019
@gioiann
Copy link
Author

gioiann commented Aug 9, 2019

I would like to help but there are is no documentation from Microsoft about the Minecraft login flow. I tried using an https proxy but apparently Minecraft doesn't trust the proxy CA. How did you do it?

@Sandertv
Copy link
Owner

Sandertv commented Aug 9, 2019

There's some libraries in other languages that implement Microsoft account logins: Looking into those would be worth it.

@gioiann
Copy link
Author

gioiann commented Aug 14, 2019

Can you give me an hint about where to start? Like, what libraries are you talking about? I don't think there is a library implementing LoginPacket signing. The only way would be reverse engineering Minecraft or an https proxy

@Sandertv
Copy link
Owner

The only thing that needs to be done is to login to a Live/Microsoft account and obtain an access token and a refresh token. The rest will still function just fine. Basically, the code in auth/live.go needs to be replaced.

@Sandertv
Copy link
Owner

This part has nothing to do with Minecraft yet.

@gioiann
Copy link
Author

gioiann commented Aug 14, 2019

I found the problem: parseJSObject() doesn't properly parse the data. There are closing curly brackets before the end of the object properties.

@gioiann
Copy link
Author

gioiann commented Aug 14, 2019

Not only that, there are different things wrong with parseJSObject() like:

  • There can be commas in the value
  • " is not trimmed, only ' is

@Sandertv
Copy link
Owner

The parseJSObject is a terrible hack that was only there as some kind of hack. The login sequence in live.go is quite the hack.

@gioiann
Copy link
Author

gioiann commented Aug 15, 2019

Should I open a PR ?

@Sandertv
Copy link
Owner

Please feel free!

Sandertv added a commit that referenced this issue Aug 15, 2019
auth/live: Better JS ServerData "parsing" hack. Fixes #14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants