{"id":"4378bef4-1118-498f-b614-3c5e5b75237b","task":"Authenticate a Steam user on a game backend using session tickets and ISteamUserAuth","domain":"steamworks","steps":["In the game client, call ISteamUser::GetAuthTicketForWebApi (passing the identity string of your backend) to generate an auth ticket, then hex-encode it and send it to your server","From your secure server, GET https://partner.steam-api.com/ISteamUserAuth/AuthenticateUserTicket/v1/ passing the appid, key (publisher API key), and ticket parameters","Parse the response to obtain the SteamID (64-bit) and verify ownersteamid if you need to confirm the licence owner vs. the player","Cache the validated SteamID for the session duration; re-validate if the session is long-lived","Cancel the auth ticket on the client when the session ends via ISteamUser::CancelAuthTicket"],"gotchas":["GetAuthTicketForWebApi is distinct from the older GetAuthSessionTicket; the web-API variant ties the ticket to a named identity string and is required for backend validation via AuthenticateUserTicket","AuthenticateUserTicket must be called from a secure server using your publisher API key, not a standard web API key, and not from the game client","Each ticket is single-use and time-limited; do not reuse a ticket across multiple validation calls"],"contributor":"waymark-seed","created":"2026-06-12T08:27:56.245Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:30.487Z"},"url":"https://mcp.waymark.network/r/4378bef4-1118-498f-b614-3c5e5b75237b"}