cevoaustralia / aws-google-auth

Provides AWS STS credentials based on Google Apps SAML SSO auth (what a jumble!)
MIT License
538 stars 180 forks source link

ERROR:root:'NoneType' object has no attribute 'find_all' #268

Closed ingluife closed 2 years ago

ingluife commented 2 years ago

Hi guys!

I'm having an issue when I try to login after I put the captcha:

ERROR:root:'NoneType' object has no attribute 'find_all' Traceback (most recent call last): File "/home/user/.local/lib/python3.9/site-packages/aws_google_auth/__init__.py", line 79, in cli process_auth(args, config) File "/home/user/.local/lib/python3.9/site-packages/aws_google_auth/__init__.py", line 243, in process_auth google_client.do_login() File "/home/user/.local/lib/python3.9/site-packages/aws_google_auth/google.py", line 291, in do_login sess = self.handle_captcha(sess, payload) File "/home/user/.local/lib/python3.9/site-packages/aws_google_auth/google.py", line 433, in handle_captcha for tag in form.find_all('input'): AttributeError: 'NoneType' object has no attribute 'find_all'

Adittional info:

I'd appreciate your help

kriation commented 2 years ago

@ingluife, could you run through it again, passing --save-failure-html and --save-saml-flow?

The first will save any failures to saml.html in the local directory. The second will generate a directory with multiple files that include the GET and POST responses in each step of the flow.

Once generated, attach them to this issue.

ingluife commented 2 years ago

Hi @kriation These are the files generated: aws-google-auth-2022-08-26T171901.zip

Thanks for answering

kriation commented 2 years ago

Thanks for sharing the debug output, @ingluife.

Can you try again by adding --bg-response js_enabled as an argument? Based on the contents of ac.go.com~signin~v1~lookup_5_POST.req, it looks like bg_response is being set to disabled which may explain why you're experiencing the same as what was reported in #219.

ingluife commented 2 years ago

Hi @kriation, I got the same Error (adding --bg-response js_enabled): ERROR:root:'NoneType' object has no attribute 'find_all' Traceback (most recent call last): File "/home/user/.local/lib/python3.9/site-packages/aws_google_auth/__init__.py", line 79, in cli process_auth(args, config) File "/home/user/.local/lib/python3.9/site-packages/aws_google_auth/__init__.py", line 243, in process_auth google_client.do_login() File "/home/user/.local/lib/python3.9/site-packages/aws_google_auth/google.py", line 291, in do_login sess = self.handle_captcha(sess, payload) File "/home/user/.local/lib/python3.9/site-packages/aws_google_auth/google.py", line 433, in handle_captcha for tag in form.find_all('input'): AttributeError: 'NoneType' object has no attribute 'find_all'

kriation commented 2 years ago

@ingluife, can you run it with --save-saml-flow and bg-response js_enabled? Once complete, please attach the files you did previously.

ingluife commented 2 years ago

@kriation This is the output: aws-google-auth-2022-09-01T175617.zip

kriation commented 2 years ago

@ingluife, I don't think you're running v0.0.38.

The output you included indicates that the code is not handling bgresponse properly. In addition, the stacktrace you pasted indicates that line 433 in google.py is for form.find_all('input')

Line 433 in google.py for v0.0.38 is a new line (https://github.com/cevoaustralia/aws-google-auth/blob/0.0.38/aws_google_auth/google.py#L433)

Please clean up your installation and re-install using the instructions listed in the readme (https://github.com/cevoaustralia/aws-google-auth#installation)

ingluife commented 2 years ago

My mistake, I just reinstall using sudo pip install "aws-google-auth[u2f]", and now it's working as expected.

Thank you so much @kriation for your time.