Skip to content

feat: accept launcher-injected trust token via JSON#1

Merged
Shuu-37 merged 3 commits into
mainfrom
fix/json-password-copypaste
Jun 7, 2026
Merged

feat: accept launcher-injected trust token via JSON#1
Shuu-37 merged 3 commits into
mainfrom
fix/json-password-copypaste

Conversation

@Shuu-37

@Shuu-37 Shuu-37 commented Jun 7, 2026

Copy link
Copy Markdown

Lets the launcher hand xiloader an auth-service-minted trust token to send to xi_connect in place of an OTP, so players aren't prompted for 2FA a second time at Play.

Changes

  • main.cpp: read trust_token from the JSON args.
  • network.cpp: an injected token wins over the disk-loaded one (both login paths guarded).
  • Fix two pre-existing value_or({}) lines (language, error_message) that don't compile under MSVC 14.38 — braced-init can't be type-deduced; use value_or(std::string{}) (identical behavior).

xi_connect already accepts the token (validateTrustToken), so no server change. Built Win32/x86 (Release) and bundled into the launcher (phoenix-launcher PR #86).

Pairs with phoenix-api PR LandSandBoat#46 (mints the token).

…N parsing

Copy-paste bug on line 570: when using --json mode, g_Password was being set from maybeUsername instead of maybePassword, causing login to always fail because password == username.
Read `trust_token` from the JSON args and prefer it over the disk-loaded
token, so the launcher can hand xiloader an auth-service-minted trust token
to send to xi_connect in place of an OTP.

Also fix two pre-existing `value_or({})` lines that don't compile under
MSVC 14.38 (braced-init can't be deduced) — use `value_or(std::string{})`.
@Shuu-37 Shuu-37 merged commit 5eaf355 into main Jun 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant