Authenticate through Mojang's session server; check client version #3

Merged
selimaj-dev merged 1 commits from mojang-session-auth into master 2026-09-25 13:24:47 +00:00
1 Commits
Author SHA1 Message Date
selimaj-devandclaude 2de394ebbf Authenticate through Mojang's session server; check client version
Stop sending the Minecraft access token to the Saturn server. The
connect loop now:

1. fetches GET /versions and compares this client's mod version:
   supported -> connect; deprecated -> warn, connect; neither -> warn,
   don't connect (warnings are shown once per status change)
2. requests auth_challenge with the username to get a server id
3. calls Mojang's session `join` with the access token and server id
   (the token only goes to Mojang); a refused token gives up
4. requests auth_verify, which the server confirms with `hasJoined`

Add SaturnProvider.getModVersion() and showWarning() for the version
check and its toast.

Refs saturnclientmc/saturnclient#7

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-25 15:22:37 +02:00