Skip to content

Commit

Permalink
add _transfer_cookie method
Browse files Browse the repository at this point in the history
  • Loading branch information
hexiro committed Jun 23, 2021
1 parent 955b38f commit 35277e8
Showing 1 changed file with 25 additions and 15 deletions.
40 changes: 25 additions & 15 deletions steam/webauth.py
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,20 @@ def _send_login(self, password='', captcha='', email_code='', twofactor_code='')
def _finalize_login(self, login_response):
self.steam_id = SteamID(login_response['transfer_parameters']['steamid'])

def _transfer_cookie(self, name, value, **kwargs):
"""
Sets session cookie for the three main steam domains
:param name: the name of the cookie
:type name: :class:`str`
:param value: the value of the cookie
:type value: :class:`str`
:rtype: :class:`None`
"""
kwargs.pop("domain", None)
for domain in ['store.steampowered.com', 'help.steampowered.com', 'steamcommunity.com']:
self.session.cookies.set(name, value, domain=domain, **kwargs)

def login(self, password='', captcha='', email_code='', twofactor_code='', language='english'):
"""Attempts web login and returns on a session with cookies set
Expand Down Expand Up @@ -196,15 +210,13 @@ def login(self, password='', captcha='', email_code='', twofactor_code='', langu
self.captcha_gid = -1

for cookie in list(self.session.cookies):
for domain in ['store.steampowered.com', 'help.steampowered.com', 'steamcommunity.com']:
self.session.cookies.set(cookie.name, cookie.value, domain=domain, secure=cookie.secure)
self._transfer_cookie(cookie.name, cookie.value, secure=cookie.secure)

self.session_id = generate_session_id()

for domain in ['store.steampowered.com', 'help.steampowered.com', 'steamcommunity.com']:
self.session.cookies.set('Steam_Language', language, domain=domain)
self.session.cookies.set('birthtime', '-3333', domain=domain)
self.session.cookies.set('sessionid', self.session_id, domain=domain)
self._transfer_cookie('Steam_Language', language)
self._transfer_cookie('birthtime', '-3333')
self._transfer_cookie('sessionid', self.session_id)

self._finalize_login(resp)

Expand Down Expand Up @@ -369,15 +381,13 @@ def oauth_login(self, oauth_token='', steam_id='', language='english'):

self.session_id = generate_session_id()

for domain in ['store.steampowered.com', 'help.steampowered.com', 'steamcommunity.com']:
self.session.cookies.set('birthtime', '-3333', domain=domain)
self.session.cookies.set('sessionid', self.session_id, domain=domain)
self.session.cookies.set('mobileClientVersion', '0 (2.1.3)', domain=domain)
self.session.cookies.set('mobileClient', 'android', domain=domain)
self.session.cookies.set('steamLogin', str(steam_id) + "%7C%7C" + resp_data['token'], domain=domain)
self.session.cookies.set('steamLoginSecure', str(steam_id) + "%7C%7C" + resp_data['token_secure'],
domain=domain, secure=True)
self.session.cookies.set('Steam_Language', language, domain=domain)
self._transfer_cookie('birthtime', '-3333')
self._transfer_cookie('sessionid', self.session_id)
self._transfer_cookie('mobileClientVersion', '0 (2.1.3)')
self._transfer_cookie('mobileClient', 'android')
self._transfer_cookie('steamLogin', str(steam_id) + "%7C%7C" + resp_data['token'])
self._transfer_cookie('steamLoginSecure', str(steam_id) + "%7C%7C" + resp_data['token_secure'], secure=True)
self._transfer_cookie('Steam_Language', language)

self.logged_on = True

Expand Down

0 comments on commit 35277e8

Please sign in to comment.