Skip to content

Add Steam ticket auth for auth=steam HTTP requests#158

Merged
gro-ove merged 1 commit into
gro-ove:masterfrom
Ash-bass:steam-auth-downloads
Jun 8, 2026
Merged

Add Steam ticket auth for auth=steam HTTP requests#158
gro-ove merged 1 commit into
gro-ove:masterfrom
Ash-bass:steam-auth-downloads

Conversation

@Ash-bass

@Ash-bass Ash-bass commented Mar 3, 2026

Copy link
Copy Markdown
Contributor

Adds support for Steam-authenticated HTTP requests. When a URL includes auth=steam, the client sends the user's Steam session ticket in the Authorization header so the server can verify the request. This works for downloads, API calls, and any other HTTP request that goes through the shared web client (e.g. content downloads, server content, metadata fetching).

Changes:

a4f081c:

  • AcManager.Tools/Helpers/SteamTicketProvider.cs (new) obtains Steam session ticket via GetAuthSessionTicket and exposes UrlRequiresSteamTicket() to detect auth=steam in URLs.
  • AcManager.Tools/Helpers/CookieAwareWebClient.cs adds Steam ticket injection in GetWebRequest, setting Authorization: Bearer <hex-ticket> when the URL contains auth=steam.
  • AcManager.Tools/AcManager.Tools.csproj adds compile include for SteamTicketProvider.cs.

@Ash-bass

Ash-bass commented Mar 4, 2026

Copy link
Copy Markdown
Contributor Author

The main purpuse of this is locking content download behind and auth, so with the steam ticket, server can verify its legitimacy, and then provide specific content to an user or group of users based on steam id, but ye can be used for multiple things.

P.S: This is my first pull request — please excuse any inconvenience. Feedback is welcome.

@gro-ove gro-ove merged commit b738c54 into gro-ove:master Jun 8, 2026
1 check failed
@gro-ove

gro-ove commented Jun 9, 2026

Copy link
Copy Markdown
Owner

Thank you! I’m not sure if I’m entirely happy with it though, it can allow to do some shady things, so I added a few changes. Now, server admins can add "steamAuth": true next to URLs, and with direct download links and &auth=steam, it’ll work.

(Sorry about the delay, sadly I don’t have time to check GitHub often, please feel free to DM me on tg if you want to discuss it or have other suggestions,)

@Ash-bass

Ash-bass commented Jun 13, 2026

Copy link
Copy Markdown
Contributor Author

@gro-ove
You mean telegram?, i dont use it, and dont see a link or anything to dm you so ah... dk, anyways let me know how to contact you, ill get back to doing asseto things soon ish, busy with life rn, just got fired recently.

Would it be ok to contact you through gmail?

About this ill revisit it later on, i had some ideas on how to make it more secure, will let you know when i get back to that

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.

2 participants