feat: Steam account integration (link account, sync achievements & library)#2225
Open
LED-N wants to merge 4 commits into
Open
feat: Steam account integration (link account, sync achievements & library)#2225LED-N wants to merge 4 commits into
LED-N wants to merge 4 commits into
Conversation
|
Contributor
|
Ca a l air vraiment pas mal |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



What this PR does
Adds full Steam account integration to Hydra, allowing users to:
Technical notes
/playtimeendpoint so the profile page reflects the correct value.Notes on Steam authentication
Steam login uses the OpenID 2.0 flow with a temporary local HTTP server
as the callback endpoint (
openid.realm = http://127.0.0.1:<random_port>).This is the standard approach for desktop applications — Valve explicitly
supports
127.0.0.1as a valid realm. As a result, Steam's login pagedisplays "Sign in through 127.0.0.1" to the user, which is expected
behavior for native apps.
If the team would prefer to show a branded domain (e.g.
hydralauncher.gg),this would require routing the OpenID callback through a backend endpoint
and returning the SteamID to the app via a custom protocol link
(
hydra://steam-auth?steamid=...). Happy to explore this if preferred,but kept the self-contained local server approach for simplicity.
Checklist (from PR template)
Screenshots
Settings — Steam integration (Not yet linked)
Settings — Steam integration (Linking)
Settings — Steam integration (Linked)
Library source filter
Sync progress modal
Sync from Steam button (achievements)