5 votes

Google oauth la portée a changé lors de l'authentification, mais la portée est la même

J'ai créé une application qui nécessite des étendues Google, et cela fonctionnait jusqu'à présent. Je reçois cette erreur:

Erreur
ERREUR: L'étendue a changé de "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".

AVANT:

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

APRÈS:

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

Autant que je puisse voir, l'étendue N'A PAS changé. Il y a 3 étendues avant et après, mais seul l'ordre a changé.

Le code python pour cela est ici:

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 = 'ERREUR:'+str(e)
if type(credentials) in (str,unicode):
    return "Erreur"+credentials

C'est cette dernière ligne qui semble être pertinente. Donc Google dit que l'étendue a changé, mais je ne vois pas pourquoi, ou comment le corriger, puisqu'elle n'a pas changé.

4voto

Marc Maxmeister Points 1789

J'ai trouvé que le fait de définir un jeton d'accès plus large sur le serveur a résolu ce problème. Apparemment, il s'attend aux mêmes étendues dans le même ordre, sauf si vous ajoutez cette ligne :

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X