mindstorm38 / portablemc

A fast, reliable and cross-platform command-line Minecraft launcher and API for developers. Including fast and easy installation of common mod loaders such as Fabric, Forge, NeoForge and Quilt.
https://pypi.org/project/portablemc/
GNU General Public License v3.0
352 stars 20 forks source link

Cant authenticate #231

Open SansIsCrazy opened 1 month ago

SansIsCrazy commented 1 month ago

I'm using the command portablemc start fabric:1.21:0.15.11 -l (email) and every time, I get <HttpError <HttpResponse 401>, origin: POST https://xsts.auth.xboxlive.com/xsts/authorize, reason: HTTP Error 401: Unauthorized> I have minecraft with said email, I've tried --auth-no-browser and had the same issue. It says the -v argument is unrecognized when I try verbose mode. Either there's a bug, or I'm doing something dumb, and/or my computer is doing something dumb. please send hlep

mindstorm38 commented 1 month ago

Hi, the -v argument should be placed before start, I think that's your issue with verbosity. About authentication, I don't really know what's going on, I've just checked on my side and it's still working. Could you try with verbosity and portablemc login, this avoids all the overhead of starting the game.

SansIsCrazy commented 1 month ago

Ok, I did that and got 2 exceptions:

[←[31mFAILED←[0m] Unhandled HTTP error happened:
Traceback (most recent call last):
  File "c:\users\mine\appdata\local\programs\python\python39\lib\site-packages\portablemc\http.py", line 95, in http_request
    res: HTTPResponse = urllib.request.urlopen(req, context=ctx)
  File "c:\users\mine\appdata\local\programs\python\python39\lib\urllib\request.py", line 214, in urlopen
    return opener.open(url, data, timeout)
  File "c:\users\mine\appdata\local\programs\python\python39\lib\urllib\request.py", line 523, in open
    response = meth(req, response)
  File "c:\users\mine\appdata\local\programs\python\python39\lib\urllib\request.py", line 632, in http_response
    response = self.parent.error(
  File "c:\users\mine\appdata\local\programs\python\python39\lib\urllib\request.py", line 561, in error
    return self._call_chain(*args)
  File "c:\users\mine\appdata\local\programs\python\python39\lib\urllib\request.py", line 494, in _call_chain
    result = func(*args)
  File "c:\users\mine\appdata\local\programs\python\python39\lib\urllib\request.py", line 641, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 401: Unauthorized

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\users\mine\appdata\local\programs\python\python39\lib\site-packages\portablemc\cli\__init__.py", line 148, in cmd
    handler(ns)
  File "c:\users\mine\appdata\local\programs\python\python39\lib\site-packages\portablemc\cli\__init__.py", line 506, in cmd_login
    session = prompt_authenticate(ns, ns.email_or_username, True)
  File "c:\users\mine\appdata\local\programs\python\python39\lib\site-packages\portablemc\cli\__init__.py", line 644, in prompt_authenticate
    session = prompt_microsoft_authenticate(ns, email)
  File "c:\users\mine\appdata\local\programs\python\python39\lib\site-packages\portablemc\cli\__init__.py", line 789, in prompt_microsoft_authenticate
    return MicrosoftAuthSession.authenticate(ns.auth_database.get_client_id(), app_id, code, redirect_uri)
  File "c:\users\mine\appdata\local\programs\python\python39\lib\site-packages\portablemc\auth.py", line 267, in authenticate
    res = cls.authenticate_base({
  File "c:\users\mine\appdata\local\programs\python\python39\lib\site-packages\portablemc\auth.py", line 311, in authenticate_base
    res = cls.ms_request("https://xsts.auth.xboxlive.com/xsts/authorize", {
  File "c:\users\mine\appdata\local\programs\python\python39\lib\site-packages\portablemc\auth.py", line 353, in ms_request
    return http_request("POST", url, data=data, content_type=content_type).json()
  File "c:\users\mine\appdata\local\programs\python\python39\lib\site-packages\portablemc\http.py", line 98, in http_request
    raise HttpError(HttpResponse(cast(HTTPResponse, error)), method, url, error)
portablemc.http.HttpError: (<HttpResponse 401>, 'POST', 'https://xsts.auth.xboxlive.com/xsts/authorize', <HTTPError 401: 'Unauthorized'>)