Область проверки Google изменилась во время аутентификации, но область действия та же - PullRequest
0 голосов
/ 06 ноября 2018

Я создал приложение, которое требует областей применения Google, и оно работало до сих пор. Я получаю эту ошибку:

Error
ERROR:Scope has changed from "https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile https://mail.google.com" to "https://mail.google.com/ https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile".

ДО:

"https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile 
https://mail.google.com"

ПОСЛЕ:

"https://mail.google.com/ 
https://www.googleapis.com/auth/userinfo.email 
https://www.googleapis.com/auth/userinfo.profile"

Насколько я вижу, объем НЕ изменился. Есть 3 области действия до и после, но изменился только порядок.

Код Python для этого здесь:

try:
    credentials = oauth.fetch_token('https://accounts.google.com/o/oauth2/token',
    authorization_response = full_authorization_response_url,
    client_secret=client_secret)
except Exception as e:
    import traceback
    print(traceback.format_exc())
    credentials = 'ERROR:'+str(e)
if type(credentials) in (str,unicode):
    return "Error<br>"+credentials

это последняя строка, которая кажется уместной. Итак, Google говорит, что область действия изменилась, но я не могу понять, почему или как это исправить, поскольку она не изменилась.

1 Ответ

0 голосов
/ 21 ноября 2018

Я обнаружил, что ослабление области действия токенов на сервере решило эту проблему. Очевидно, он ожидает те же области в том же порядке, если вы не добавите эту строку:

os.environ['OAUTHLIB_RELAX_TOKEN_SCOPE'] = '1'
...