Closed andybusuu closed 2 years ago
My entire team is having issues with aws-google-auth today. I tried resetting user cookies, uninstalled & installed aws-google-auth but none of the solution did not fix the issue. Can some one shed the light what is going on. Error:
Google Password: ERROR:root:'NoneType' object has no attribute 'get' Traceback (most recent call last): File "/Users//Library/Python/3.8/lib/python/site-packages/aws_google_auth/init.py", line 79, in cli process_auth(args, config) File "/Users//Library/Python/3.8/lib/python/site-packages/aws_google_auth/init.py", line 243, in process_auth google_client.do_login() File "/Users/***/Library/Python/3.8/lib/python/site-packages/aws_google_auth/google.py", line 256, in do_login passwd_challenge_url = 'https://accounts.google.com' + form.get('action') AttributeError: 'NoneType' object has no attribute 'get'
same here
same here
What if handle_captcha
used open
or xdg_open
by launching a browser instead of trying to look for the CAPTCHA img src? Seems like this breaks everytime Google changes something in the page structure.
yep, broke
Same here
The amount of us staring at this page 👀 haha. Broken too.
I will try to help look for a fix.
Yea, setting up a venv to see if we can regex the URL to image or something, the tag parsing seems fragile
We tried --bg-response js_enabled, this time we are able pass through password but failing at captcha. I tried 0.0.036 but no luck. 8TkaZpIgOTWqbSam4ZHxIiE3c4I-AqYzeoNfCOysf4o3Fre3IYtR4BwE3FRxYX6utGC2M Captcha (case insensitive): undingent ERROR:root:'NoneType' object has no attribute 'find_all' Traceback (most recent call last): File "/Users/rama/Library/Python/3.8/lib/python/site-packages/aws_google_auth/init.py", line 79, in cli process_auth(args, config) File "/Users/rama/Library/Python/3.8/lib/python/site-packages/aws_google_auth/init.py", line 243, in process_auth google_client.do_login() File "/Users/rama/Library/Python/3.8/lib/python/site-packages/aws_google_auth/google.py", line 291, in do_login sess = self.handle_captcha(sess, payload) File "/Users/rama/Library/Python/3.8/lib/python/site-packages/aws_google_auth/google.py", line 432, in handle_captcha for tag in form.find_all('input'): AttributeError: 'NoneType' object has no attribute 'find_all'
If you installed aws-google-auth via homebrew, you can directly replace the file mentioned in the error above with the one from the PR. My path was different than the one above so use the path in the error. Url to file from PR: https://github.com/ezequielsbarros/aws-google-auth/blob/d7d70010bac0494a5902e92a3bd7e124611cd6c1/aws_google_auth/google.py
You need to apply the fix, something like this (uninstall old one first):
git clone git@github.com:ezequielsbarros/aws-google-auth.git
Cloning into 'aws-google-auth'...
...
cd aws-google-auth
git checkout fix-js-background-param-in-challenge
...
pip3 install -e .
then after install had to symlink to the bin which on my system is this:
cd /usr/local/bin
ln -s /usr/local/Cellar/python@3.9/3.9.12/Frameworks/Python.framework/Versions/3.9/bin/aws-google-auth
then also add the --bg-response js_enabled
param to the actual call to updated binary, thats how we're doing it. Or just replace file directly however you have it installed.
I'm using this tool now. No need to deal w/ captcha and MFA as well. you guys can check https://www.leapp.cloud/
@slikk66 / @ezequielsbarros 's fix works for me 👍
docker run -ti --rm -v ~/.aws:/root/.aws python:3.10-buster /bin/bash
git clone https://github.com/ezequielsbarros/aws-google-auth.git
cd aws-google-auth
git checkout checkout fix-js-background-param-in-challenge
pip3 install -e .
aws-google-auth -k -a --idp-id ****** --sp-id ****** -R eu-west-1 -u andrew@***** -p **** -d 28800
UPDATE: This issue is fixed by https://github.com/cevoaustralia/aws-google-auth/pull/250
Same here
Simple fix based on the PR #250 -
Edit this file site-packages/aws_google_auth/google.py, and add those code lines in line 268 -
# Set bg_response in request payload to passwd challenge
if self.config.bg_response:
payload['bgresponse'] = self.config.bg_response
You can take the absolute path from the error above in your machine -
ERROR:root:'NoneType' object has no attribute 'find_all'
Traceback (most recent call last):
File "/home/bityob/.local/lib/python3.8/site-packages/aws_google_auth/__init__.py", line 79, in cli
process_auth(args, config)
File "/home/bityob/.local/lib/python3.8/site-packages/aws_google_auth/__init__.py", line 243, in process_auth
google_client.do_login()
File "/home/bityob/.local/lib/python3.8/site-packages/aws_google_auth/google.py", line 291, in do_login
sess = self.handle_captcha(sess, payload)
File "/home/bityob/.local/lib/python3.8/site-packages/aws_google_auth/google.py", line 432, in handle_captcha
for tag in form.find_all('input'):
AttributeError: 'NoneType' object has no attribute 'find_all'
"/home/bityob/.local/lib/python3.8/site-packages/aws_google_auth/google.py"
Example -
thank you @bityob, works like a charm
Can the PR approved?
@bityob Thank you ! this works.
This issue has been resolved with the release https://github.com/cevoaustralia/aws-google-auth/releases/tag/0.0.38
Can you update the docker image on dockerhub to reflect the latest change?
This worked this morning, but has just started failing recently. Perhaps Google have changed something recently.
versions