python-samples icon indicating copy to clipboard operation
python-samples copied to clipboard

quickstart.py fails when Firefox is default browser on Mac

Open timcu opened this issue 5 years ago • 1 comments

Expected Behavior

Please visit this URL to authorize this application: https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=xxx.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Flocalhost%3A63472%2F&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fgmail.readonly&state=xxx&access_type=offline

Then browser opens URL and user authenticates to account then token.pickle gets created and the following gets displayed

Labels: CHAT SENT INBOX IMPORTANT TRASH DRAFT SPAM CATEGORY_FORUMS CATEGORY_UPDATES CATEGORY_PERSONAL CATEGORY_PROMOTIONS CATEGORY_SOCIAL STARRED UNREAD

Actual Behavior

Please visit this URL to authorize this application: https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=xxx.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Flocalhost%3A63472%2F&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fgmail.readonly&state=xxx&access_type=offline

Then browser opens URL and user authenticates to account

Traceback (most recent call last): File "quickstart.py", line 53, in main() File "quickstart.py", line 33, in main creds = flow.run_local_server(port=0) File "/Users/username/.virtualenvs/bpaml-email/lib/python3.8/site-packages/google_auth_oauthlib/flow.py", line 460, in run_local_server self.fetch_token(authorization_response=authorization_response) File "/Users/username/.virtualenvs/bpaml-email/lib/python3.8/site-packages/google_auth_oauthlib/flow.py", line 280, in fetch_token return self.oauth2session.fetch_token( File "/Users/username/.virtualenvs/bpaml-email/lib/python3.8/site-packages/requests_oauthlib/oauth2_session.py", line 239, in fetch_token self._client.parse_request_uri_response( File "/Users/username/.virtualenvs/bpaml-email/lib/python3.8/site-packages/oauthlib/oauth2/rfc6749/clients/web_application.py", line 203, in parse_request_uri_response response = parse_authorization_code_response(uri, state=state) File "/Users/username/.virtualenvs/bpaml-email/lib/python3.8/site-packages/oauthlib/oauth2/rfc6749/parameters.py", line 268, in parse_authorization_code_response raise MismatchingStateError() oauthlib.oauth2.rfc6749.errors.MismatchingStateError: (mismatching_state) CSRF Warning! State not equal in request and response.

token.pickle file is not created

Steps to Reproduce the Problem

  1. Set Firefox as default browser
  2. python3 quickstart.py

Specifications

  • Python version (python --version) Python 3.8.2
  • OS (Mac 10.14.6)
  • Firefox 76.0.1

Setting the default browser to Safari or Google Chrome achieved the expected behaviour

timcu avatar Jun 03 '20 09:06 timcu