Browse Source

add `_transfer_cookie` method

pull/341/head
Hexiro 4 years ago
parent
commit
35277e8a88
  1. 40
      steam/webauth.py

40
steam/webauth.py

@ -152,6 +152,20 @@ class WebAuth(object):
def _finalize_login(self, login_response): def _finalize_login(self, login_response):
self.steam_id = SteamID(login_response['transfer_parameters']['steamid']) 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'): def login(self, password='', captcha='', email_code='', twofactor_code='', language='english'):
"""Attempts web login and returns on a session with cookies set """Attempts web login and returns on a session with cookies set
@ -196,15 +210,13 @@ class WebAuth(object):
self.captcha_gid = -1 self.captcha_gid = -1
for cookie in list(self.session.cookies): for cookie in list(self.session.cookies):
for domain in ['store.steampowered.com', 'help.steampowered.com', 'steamcommunity.com']: self._transfer_cookie(cookie.name, cookie.value, secure=cookie.secure)
self.session.cookies.set(cookie.name, cookie.value, domain=domain, secure=cookie.secure)
self.session_id = generate_session_id() self.session_id = generate_session_id()
for domain in ['store.steampowered.com', 'help.steampowered.com', 'steamcommunity.com']: self._transfer_cookie('Steam_Language', language)
self.session.cookies.set('Steam_Language', language, domain=domain) self._transfer_cookie('birthtime', '-3333')
self.session.cookies.set('birthtime', '-3333', domain=domain) self._transfer_cookie('sessionid', self.session_id)
self.session.cookies.set('sessionid', self.session_id, domain=domain)
self._finalize_login(resp) self._finalize_login(resp)
@ -369,15 +381,13 @@ class MobileWebAuth(WebAuth):
self.session_id = generate_session_id() self.session_id = generate_session_id()
for domain in ['store.steampowered.com', 'help.steampowered.com', 'steamcommunity.com']: self._transfer_cookie('birthtime', '-3333')
self.session.cookies.set('birthtime', '-3333', domain=domain) self._transfer_cookie('sessionid', self.session_id)
self.session.cookies.set('sessionid', self.session_id, domain=domain) self._transfer_cookie('mobileClientVersion', '0 (2.1.3)')
self.session.cookies.set('mobileClientVersion', '0 (2.1.3)', domain=domain) self._transfer_cookie('mobileClient', 'android')
self.session.cookies.set('mobileClient', 'android', domain=domain) self._transfer_cookie('steamLogin', str(steam_id) + "%7C%7C" + resp_data['token'])
self.session.cookies.set('steamLogin', str(steam_id) + "%7C%7C" + resp_data['token'], domain=domain) self._transfer_cookie('steamLoginSecure', str(steam_id) + "%7C%7C" + resp_data['token_secure'], secure=True)
self.session.cookies.set('steamLoginSecure', str(steam_id) + "%7C%7C" + resp_data['token_secure'], self._transfer_cookie('Steam_Language', language)
domain=domain, secure=True)
self.session.cookies.set('Steam_Language', language, domain=domain)
self.logged_on = True self.logged_on = True

Loading…
Cancel
Save