Я использую Google Sign-in для аутентификации / авторизации пользователей для доступа к моему Flask веб-приложению. Эта часть работает нормально.
Мне нужно организовать пользователей по группам, к которым они принадлежат. Используя admin в Google, я создал группу, и только пользователи из этой группы могут использовать приложение.
Проблема в том, что это работает только для меня. Вероятно, потому что я администратор / владелец домена.
Все остальные получают ошибку при получении токена.
Я использую google_auth_oauthlib.flow
.
Я использую следующие области:
"https://www.googleapis.com/auth/userinfo.profile",
"https://www.googleapis.com/auth/userinfo.email",
"https://www.googleapis.com/auth/admin.directory.group.readonly",
"openid"
Когда кто-то за пределами этой группы пытается получить доступ, в журнале отображается следующая ошибка.
When getting token: (invalid_grant) Bad Request
Traceback (most recent call last):
File "/tmp/tmpfhwmhvrg/__main__/licsrv/admin/admin.py", line 150, in view_cb_google
f.fetch_token(authorization_response=authorization_response)
File "/tmp/tmpfhwmhvrg/pip36/google_auth_oauthlib/google_auth_oauthlib/flow.py", line 241, in fetch_token
self.client_config['token_uri'], **kwargs)
File "/tmp/tmpfhwmhvrg/pip36/requests_oauthlib/requests_oauthlib/oauth2_session.py", line 244, in fetch_token
self._client.parse_request_body_response(r.text, scope=self.scope)
File "/tmp/tmpfhwmhvrg/pip36/oauthlib/oauthlib/oauth2/rfc6749/clients/base.py", line 411, in parse_request_body_response
self.token = parse_token_response(body, scope=scope)
File "/tmp/tmpfhwmhvrg/pip36/oauthlib/oauthlib/oauth2/rfc6749/parameters.py", line 379, in parse_token_response
validate_token_parameters(params)
File "/tmp/tmpfhwmhvrg/pip36/oauthlib/oauthlib/oauth2/rfc6749/parameters.py", line 386, in validate_token_parameters
raise_from_error(params.get('error'), params)
File "/tmp/tmpfhwmhvrg/pip36/oauthlib/oauthlib/oauth2/rfc6749/errors.py", line 415, in raise_from_error
raise cls(**kwargs)
oauthlib.oauth2.rfc6749.errors.InvalidGrantError: (invalid_grant) Bad Request