Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

WebAuth class fixed. New api used. Email/guard code auth added. #454

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
artur1214 wants to merge 1 commit into ValvePython:master
base: master
Choose a base branch
Loading
from artur1214:web_uth_new_api_fix

Conversation

@artur1214
Copy link

@artur1214 artur1214 commented Oct 28, 2023

TODO: QR code auth add.
Added function to unlogin on every device.
Code refactoring done: added docstrings, typehints. NOTE: Current version now don't work with python <=3.5

Helyux, pottink, pawelk1337, and cloudsucker reacted with thumbs up emoji
TODO: QR code auth add.
Added function to unlogin on every device.
Code refactoring done: added docstrings, typehints.
NOTE: Current version now don't work with python <=3.5
Copy link
Author

This will solve
#451 #450
#452 known well, but need a lot of changes, will be done later (in another PR)

Copy link

Hey, cant seem to get yours to work. Could you give a login example?

Copy link
Author

artur1214 commented Oct 30, 2023
edited
Loading

Hey, cant seem to get yours to work. Could you give a login example?

Of course :)

If you use steam guard:

# AUTH VIA STEAM GUARD CODE
authenticator = SteamAuthenticator(json.load(open('path/to/mafile.mafile')))
auth = WebAuth('login', 'password')
session = auth.login(code=authenticator.get_code())
print(session.cookies)

If you use email:

# AUTH VIA EMAIL CODE
auth = WebAuth('login', 'password')
code_provider_function = auth.login(email_required=True)
code = input('Please, enter your email code here: ')
session = code_provider_function(code)
print(session.cookies)

Copy link

cinsin commented Dec 1, 2023

Hey, cant seem to get yours to work. Could you give a login example?

Of course :)

If you use steam guard:

# AUTH VIA STEAM GUARD CODE
authenticator = SteamAuthenticator(json.load(open('path/to/mafile.mafile')))
auth = WebAuth('login', 'password')
session = auth.login(code=authenticator.get_code())
print(session.cookies)

If you use email:

# AUTH VIA EMAIL CODE
auth = WebAuth('login', 'password')
code_provider_function = auth.login(email_required=True)
code = input('Please, enter your email code here: ')
session = code_provider_function(code)
print(session.cookies)

Hi bro, I'm sorry but I simply can not get to work with the demo code using steam guard version.
when i invoke the auth.login(code=MY_CODE) method ,it throws:

Traceback (most recent call last):
File "D:\tmp\test-webauth\steam-py-lib-web_uth_new_api_fix\steam\webauth.py", line 243, in _pollLoginStatus
self.refresh_token = resp['response']['refresh_token']
KeyError: 'refresh_token'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:/Program Files/JetBrains/PyCharm Community Edition 2023年1月2日/plugins/python-ce/helpers/pydev/pydevd.py", line 1500, in _exec
pydev_imports.execfile(file, globals, locals) # execute the script
File "C:\Program Files\JetBrains\PyCharm Community Edition 2023年1月2日\plugins\python-ce\helpers\pydev_pydev_imps_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "D:\tmp\test-webauth\steam-py-lib-web_uth_new_api_fix\test.py", line 15, in
session = auth.login(code=authenticator.get_code())
File "D:\tmp\test-webauth\steam-py-lib-web_uth_new_api_fix\steam\webauth.py", line 336, in login
self._pollLoginStatus()
File "D:\tmp\test-webauth\steam-py-lib-web_uth_new_api_fix\steam\webauth.py", line 246, in _pollLoginStatus
raise WebAuthException('Authentication requires 2fa token, which is not provided or invalid')
steam.webauth.WebAuthException: Authentication requires 2fa token, which is not provided or invalid

kindly can you please help me with this issue, thanks in advance!

pawelk1337 and Jefflin0731 reacted with thumbs up emoji

Copy link

soshin1337 commented Dec 9, 2023
edited
Loading

/del

Проблема решена. Это я звонил.

но есть замечание

File "c:\Users\BebraPC\Desktop\steam-py-lib\steam\webauth.py", line 219, in _startSessionWithCredentials
self.client_id = resp['response']['client_id']
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
KeyError: 'client_id'

при некорректных данных было бы лучше выдавать ошибку входа

так же не понятно могу ли я использовать прокси (session.proxies) до установки входа в аккаунта а не после

Copy link

path/to/mafile.mafile

Hi, do you have any example to get file path/to/mafile.mafile from steam mobile app?

Copy link

pawelk1337 commented Jan 6, 2024
edited
Loading

Hey, cant seem to get yours to work. Could you give a login example?

Of course :)

If you use steam guard:

# AUTH VIA STEAM GUARD CODE
authenticator = SteamAuthenticator(json.load(open('path/to/mafile.mafile')))
auth = WebAuth('login', 'password')
session = auth.login(code=authenticator.get_code())
print(session.cookies)

If you use email:

# AUTH VIA EMAIL CODE
auth = WebAuth('login', 'password')
code_provider_function = auth.login(email_required=True)
code = input('Please, enter your email code here: ')
session = code_provider_function(code)
print(session.cookies)

Hi bro, I'm sorry but I simply can not get to work with the demo code using steam guard version. when i invoke the auth.login(code=MY_CODE) method ,it throws:

Traceback (most recent call last):
File "D:\tmp\test-webauth\steam-py-lib-web_uth_new_api_fix\steam\webauth.py", line 243, in _pollLoginStatus
self.refresh_token = resp['response']['refresh_token']
KeyError: 'refresh_token'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:/Program Files/JetBrains/PyCharm Community Edition 2023年1月2日/plugins/python-ce/helpers/pydev/pydevd.py", line 1500, in _exec
pydev_imports.execfile(file, globals, locals) # execute the script
File "C:\Program Files\JetBrains\PyCharm Community Edition 2023年1月2日\plugins\python-ce\helpers\pydev_pydev_imps_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "D:\tmp\test-webauth\steam-py-lib-web_uth_new_api_fix\test.py", line 15, in
session = auth.login(code=authenticator.get_code())
File "D:\tmp\test-webauth\steam-py-lib-web_uth_new_api_fix\steam\webauth.py", line 336, in login
self._pollLoginStatus()
File "D:\tmp\test-webauth\steam-py-lib-web_uth_new_api_fix\steam\webauth.py", line 246, in _pollLoginStatus
raise WebAuthException('Authentication requires 2fa token, which is not provided or invalid')
steam.webauth.WebAuthException: Authentication requires 2fa token, which is not provided or invalid

kindly can you please help me with this issue, thanks in advance!

same error with the email demo

Please, enter your email code here: XXXXX
Traceback (most recent call last):
 File "C:\Users\Administrator\Pictures\Programming\python steambot\steam\webauth.py", line 243, in _pollLoginStatus
 self.refresh_token = resp['response']['refresh_token']
KeyError: 'refresh_token'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
 File "C:\Users\Administrator\Pictures\Programming\python steambot\main.py", line 7, in <module>
 session = code_provider_function(code)
 File "C:\Users\Administrator\Pictures\Programming\python steambot\steam\webauth.py", line 327, in end_login
 self._pollLoginStatus()
 File "C:\Users\Administrator\Pictures\Programming\python steambot\steam\webauth.py", line 246, in _pollLoginStatus
 raise WebAuthException('Authentication requires 2fa token, which is not provided or invalid')
steam.webauth.WebAuthException: Authentication requires 2fa token, which is not provided or invalid

Maby make a fork bc this repo looks abandoned.

VitorOriel and Jefflin0731 reacted with thumbs up emoji

Copy link

Hey, cant seem to get yours to work. Could you give a login example?

Of course :)

If you use steam guard:

# AUTH VIA STEAM GUARD CODE
authenticator = SteamAuthenticator(json.load(open('path/to/mafile.mafile')))
auth = WebAuth('login', 'password')
session = auth.login(code=authenticator.get_code())
print(session.cookies)

If you use email:

# AUTH VIA EMAIL CODE
auth = WebAuth('login', 'password')
code_provider_function = auth.login(email_required=True)
code = input('Please, enter your email code here: ')
session = code_provider_function(code)
print(session.cookies)

Hi bro, I'm sorry but I simply can not get to work with the demo code using steam guard version. when i invoke the auth.login(code=MY_CODE) method ,it throws:

Traceback (most recent call last):
File "D:\tmp\test-webauth\steam-py-lib-web_uth_new_api_fix\steam\webauth.py", line 243, in _pollLoginStatus
self.refresh_token = resp['response']['refresh_token']
KeyError: 'refresh_token'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:/Program Files/JetBrains/PyCharm Community Edition 2023年1月2日/plugins/python-ce/helpers/pydev/pydevd.py", line 1500, in _exec
pydev_imports.execfile(file, globals, locals) # execute the script
File "C:\Program Files\JetBrains\PyCharm Community Edition 2023年1月2日\plugins\python-ce\helpers\pydev_pydev_imps_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "D:\tmp\test-webauth\steam-py-lib-web_uth_new_api_fix\test.py", line 15, in
session = auth.login(code=authenticator.get_code())
File "D:\tmp\test-webauth\steam-py-lib-web_uth_new_api_fix\steam\webauth.py", line 336, in login
self._pollLoginStatus()
File "D:\tmp\test-webauth\steam-py-lib-web_uth_new_api_fix\steam\webauth.py", line 246, in _pollLoginStatus
raise WebAuthException('Authentication requires 2fa token, which is not provided or invalid')
steam.webauth.WebAuthException: Authentication requires 2fa token, which is not provided or invalid

kindly can you please help me with this issue, thanks in advance!

same error with the email demo

Please, enter your email code here: XXXXX
Traceback (most recent call last):
 File "C:\Users\Administrator\Pictures\Programming\python steambot\steam\webauth.py", line 243, in _pollLoginStatus
 self.refresh_token = resp['response']['refresh_token']
KeyError: 'refresh_token'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
 File "C:\Users\Administrator\Pictures\Programming\python steambot\main.py", line 7, in <module>
 session = code_provider_function(code)
 File "C:\Users\Administrator\Pictures\Programming\python steambot\steam\webauth.py", line 327, in end_login
 self._pollLoginStatus()
 File "C:\Users\Administrator\Pictures\Programming\python steambot\steam\webauth.py", line 246, in _pollLoginStatus
 raise WebAuthException('Authentication requires 2fa token, which is not provided or invalid')
steam.webauth.WebAuthException: Authentication requires 2fa token, which is not provided or invalid

Maby make a fork bc this repo looks abandoned.

yeah, this repo looks abandoned... :(

cloudsucker and Jefflin0731 reacted with confused emoji

Copy link
Author

Hey, cant seem to get yours to work. Could you give a login example?

Of course :)

If you use steam guard:

# AUTH VIA STEAM GUARD CODE
authenticator = SteamAuthenticator(json.load(open('path/to/mafile.mafile')))
auth = WebAuth('login', 'password')
session = auth.login(code=authenticator.get_code())
print(session.cookies)

If you use email:

# AUTH VIA EMAIL CODE
auth = WebAuth('login', 'password')
code_provider_function = auth.login(email_required=True)
code = input('Please, enter your email code here: ')
session = code_provider_function(code)
print(session.cookies)

Hi bro, I'm sorry but I simply can not get to work with the demo code using steam guard version. when i invoke the auth.login(code=MY_CODE) method ,it throws:

Traceback (most recent call last):
File "D:\tmp\test-webauth\steam-py-lib-web_uth_new_api_fix\steam\webauth.py", line 243, in _pollLoginStatus
self.refresh_token = resp['response']['refresh_token']
KeyError: 'refresh_token'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:/Program Files/JetBrains/PyCharm Community Edition 2023年1月2日/plugins/python-ce/helpers/pydev/pydevd.py", line 1500, in _exec
pydev_imports.execfile(file, globals, locals) # execute the script
File "C:\Program Files\JetBrains\PyCharm Community Edition 2023年1月2日\plugins\python-ce\helpers\pydev_pydev_imps_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "D:\tmp\test-webauth\steam-py-lib-web_uth_new_api_fix\test.py", line 15, in
session = auth.login(code=authenticator.get_code())
File "D:\tmp\test-webauth\steam-py-lib-web_uth_new_api_fix\steam\webauth.py", line 336, in login
self._pollLoginStatus()
File "D:\tmp\test-webauth\steam-py-lib-web_uth_new_api_fix\steam\webauth.py", line 246, in _pollLoginStatus
raise WebAuthException('Authentication requires 2fa token, which is not provided or invalid')
steam.webauth.WebAuthException: Authentication requires 2fa token, which is not provided or invalid

kindly can you please help me with this issue, thanks in advance!

same error with the email demo

Please, enter your email code here: XXXXX
Traceback (most recent call last):
 File "C:\Users\Administrator\Pictures\Programming\python steambot\steam\webauth.py", line 243, in _pollLoginStatus
 self.refresh_token = resp['response']['refresh_token']
KeyError: 'refresh_token'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
 File "C:\Users\Administrator\Pictures\Programming\python steambot\main.py", line 7, in <module>
 session = code_provider_function(code)
 File "C:\Users\Administrator\Pictures\Programming\python steambot\steam\webauth.py", line 327, in end_login
 self._pollLoginStatus()
 File "C:\Users\Administrator\Pictures\Programming\python steambot\steam\webauth.py", line 246, in _pollLoginStatus
 raise WebAuthException('Authentication requires 2fa token, which is not provided or invalid')
steam.webauth.WebAuthException: Authentication requires 2fa token, which is not provided or invalid

Maby make a fork bc this repo looks abandoned.

yeah, this repo looks abandoned... :(

lets start over. You receiving code in your email? And this code raises 2fa invalid error? Am I understood you right?

Copy link

Hey, cant seem to get yours to work. Could you give a login example?

Of course :)

If you use steam guard:

# AUTH VIA STEAM GUARD CODE
authenticator = SteamAuthenticator(json.load(open('path/to/mafile.mafile')))
auth = WebAuth('login', 'password')
session = auth.login(code=authenticator.get_code())
print(session.cookies)

If you use email:

# AUTH VIA EMAIL CODE
auth = WebAuth('login', 'password')
code_provider_function = auth.login(email_required=True)
code = input('Please, enter your email code here: ')
session = code_provider_function(code)
print(session.cookies)

Hi bro, I'm sorry but I simply can not get to work with the demo code using steam guard version. when i invoke the auth.login(code=MY_CODE) method ,it throws:

Traceback (most recent call last):
File "D:\tmp\test-webauth\steam-py-lib-web_uth_new_api_fix\steam\webauth.py", line 243, in _pollLoginStatus
self.refresh_token = resp['response']['refresh_token']
KeyError: 'refresh_token'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:/Program Files/JetBrains/PyCharm Community Edition 2023年1月2日/plugins/python-ce/helpers/pydev/pydevd.py", line 1500, in _exec
pydev_imports.execfile(file, globals, locals) # execute the script
File "C:\Program Files\JetBrains\PyCharm Community Edition 2023年1月2日\plugins\python-ce\helpers\pydev_pydev_imps_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "D:\tmp\test-webauth\steam-py-lib-web_uth_new_api_fix\test.py", line 15, in
session = auth.login(code=authenticator.get_code())
File "D:\tmp\test-webauth\steam-py-lib-web_uth_new_api_fix\steam\webauth.py", line 336, in login
self._pollLoginStatus()
File "D:\tmp\test-webauth\steam-py-lib-web_uth_new_api_fix\steam\webauth.py", line 246, in _pollLoginStatus
raise WebAuthException('Authentication requires 2fa token, which is not provided or invalid')
steam.webauth.WebAuthException: Authentication requires 2fa token, which is not provided or invalid

kindly can you please help me with this issue, thanks in advance!

same error with the email demo

Please, enter your email code here: XXXXX
Traceback (most recent call last):
 File "C:\Users\Administrator\Pictures\Programming\python steambot\steam\webauth.py", line 243, in _pollLoginStatus
 self.refresh_token = resp['response']['refresh_token']
KeyError: 'refresh_token'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
 File "C:\Users\Administrator\Pictures\Programming\python steambot\main.py", line 7, in <module>
 session = code_provider_function(code)
 File "C:\Users\Administrator\Pictures\Programming\python steambot\steam\webauth.py", line 327, in end_login
 self._pollLoginStatus()
 File "C:\Users\Administrator\Pictures\Programming\python steambot\steam\webauth.py", line 246, in _pollLoginStatus
 raise WebAuthException('Authentication requires 2fa token, which is not provided or invalid')
steam.webauth.WebAuthException: Authentication requires 2fa token, which is not provided or invalid

Maby make a fork bc this repo looks abandoned.

yeah, this repo looks abandoned... :(

lets start over. You receiving code in your email? And this code raises 2fa invalid error? Am I understood you right?

Why are you using an old function when you added a new one in the update request? 0_o
I am new here, so sorry if I misunderstood something.

This code works fine for me and interacts well with Steam Guard. I'm not sure about how to handle the 'mafile' in the code. It seems like others are also unsure about it, so...

auth = wa.WebAuth2("username", "password")
code_provider_function = auth.login()
session = code_provider_function

P. S. Does anyone know if it's possible to save the session between code reloads? If so, how can I do it?

Copy link

FailSpy commented Mar 1, 2024

@maxfraid To address your postscript, you can have a look at my steam redeemer repo for more info on how to save cookies, but here's the key function:

def export_cookies(cookie_file, session):
 try:
 cookies = None
 if type(session) is requests.Session:
 # handle Steam session
 cookies = session.cookies
 pickle.dump(cookies, open(cookie_file,"wb"))
 return True
 except:
 return False

Copy link

Bahrain-bag commented Aug 4, 2024
edited
Loading

Hey, cant seem to get yours to work. Could you give a login example?

Of course :)

If you use steam guard:

# AUTH VIA STEAM GUARD CODE
authenticator = SteamAuthenticator(json.load(open('path/to/mafile.mafile')))
auth = WebAuth('login', 'password')
session = auth.login(code=authenticator.get_code())
print(session.cookies)

If you use email:

# AUTH VIA EMAIL CODE
auth = WebAuth('login', 'password')
code_provider_function = auth.login(email_required=True)
code = input('Please, enter your email code here: ')
session = code_provider_function(code)
print(session.cookies)

Hi bro, I'm sorry but I simply can not get to work with the demo code using steam guard version. when i invoke the auth.login(code=MY_CODE) method ,it throws:

Traceback (most recent call last):
File "D:\tmp\test-webauth\steam-py-lib-web_uth_new_api_fix\steam\webauth.py", line 243, in _pollLoginStatus
self.refresh_token = resp['response']['refresh_token']
KeyError: 'refresh_token'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:/Program Files/JetBrains/PyCharm Community Edition 2023年1月2日/plugins/python-ce/helpers/pydev/pydevd.py", line 1500, in _exec
pydev_imports.execfile(file, globals, locals) # execute the script
File "C:\Program Files\JetBrains\PyCharm Community Edition 2023年1月2日\plugins\python-ce\helpers\pydev_pydev_imps_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "D:\tmp\test-webauth\steam-py-lib-web_uth_new_api_fix\test.py", line 15, in
session = auth.login(code=authenticator.get_code())
File "D:\tmp\test-webauth\steam-py-lib-web_uth_new_api_fix\steam\webauth.py", line 336, in login
self._pollLoginStatus()
File "D:\tmp\test-webauth\steam-py-lib-web_uth_new_api_fix\steam\webauth.py", line 246, in _pollLoginStatus
raise WebAuthException('Authentication requires 2fa token, which is not provided or invalid')
steam.webauth.WebAuthException: Authentication requires 2fa token, which is not provided or invalid

kindly can you please help me with this issue, thanks in advance!

same error with the email demo

Please, enter your email code here: XXXXX
Traceback (most recent call last):
 File "C:\Users\Administrator\Pictures\Programming\python steambot\steam\webauth.py", line 243, in _pollLoginStatus
 self.refresh_token = resp['response']['refresh_token']
KeyError: 'refresh_token'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
 File "C:\Users\Administrator\Pictures\Programming\python steambot\main.py", line 7, in <module>
 session = code_provider_function(code)
 File "C:\Users\Administrator\Pictures\Programming\python steambot\steam\webauth.py", line 327, in end_login
 self._pollLoginStatus()
 File "C:\Users\Administrator\Pictures\Programming\python steambot\steam\webauth.py", line 246, in _pollLoginStatus
 raise WebAuthException('Authentication requires 2fa token, which is not provided or invalid')
steam.webauth.WebAuthException: Authentication requires 2fa token, which is not provided or invalid

Maby make a fork bc this repo looks abandoned.

yeah, this repo looks abandoned... :(

lets start over. You receiving code in your email? And this code raises 2fa invalid error? Am I understood you right?

Why are you using an old function when you added a new one in the update request? 0_o I am new here, so sorry if I misunderstood something.

This code works fine for me and interacts well with Steam Guard. I'm not sure about how to handle the 'mafile' in the code. It seems like others are also unsure about it, so...

auth = wa.WebAuth2("username", "password")
code_provider_function = auth.login()
session = code_provider_function

P. S. Does anyone know if it's possible to save the session between code reloads? If so, how can I do it?

hi bro, could you give an example of code for generating a mafile, I’m just starting to understand this and would be very happy with any help

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

AltStyle によって変換されたページ (->オリジナル) /