How steamcommunitykit/steam-protobuf-login works
SteamLogin is a small Python library that performs Steam’s credential-based login, handles an optional Steam Guard prompt, polls for tokens, and can optionally exchange the refresh token for a web cookie. The same module also exposes a separate refresh-token flow. All implementation evidence comes from SteamAuth.py; README describes the outputs and Guard options.
Main entry points: SteamAuth.py Cookie exchange
Components 15
Other components
- Library user
- SteamLogin
SteamAuth.py - Session setup
SteamAuth.py - RSA parameters
SteamAuth.py - Begin login
SteamAuth.py - Guard handling
SteamAuth.py - Guard code
- Token polling
SteamAuth.py - Cookie exchange
SteamAuth.py - Token refresh
SteamAuth.py - Steam Community
- Steam Auth API
- Login finalizer
- Community settoken
- Tokens and cookies
SteamAuth.py
Connections 25
- Library user → SteamLogin: provides credentials
- SteamLogin → Session setup: creates session
- Session setup → Steam Community: requests session ID
- SteamLogin → RSA parameters: fetches key
- RSA parameters → Steam Auth API: gets RSA key
- SteamLogin → Begin login: starts login
- Begin login → Steam Auth API: begins auth
- Begin login → Guard handling: passes response
- Guard handling → Guard code: requests code
- Guard code → Guard handling: returns code
- Guard handling → Steam Auth API: submits Guard code
- Guard handling → Token polling: polls session
- Token polling → Steam Auth API: checks status
- Token polling → Tokens and cookies: stores tokens
- Token polling → Cookie exchange: optionally fetches cookie
- Cookie exchange → Login finalizer: exchanges refresh token
- Login finalizer → Cookie exchange: returns transfer data
- Cookie exchange → Community settoken: sets web token
- Community settoken → Cookie exchange: returns cookie
- Cookie exchange → Tokens and cookies: stores cookie
- Library user → Token refresh: supplies refresh token
- Token refresh → Login finalizer: finalizes login
- Token refresh → Community settoken: sets token
- Token refresh → Tokens and cookies: returns refreshed token
- SteamLogin → Tokens and cookies: exposes session and results