“ InstalledAppFlow.run_local_server()”系统地在重定向URL的末尾添加一个斜杠

时间:2019-03-13 13:21:24

标签: python google-oauth2

代码如下:

from typing import List
from google_auth_oauthlib.flow import InstalledAppFlow

PATH_FILE_SECRETS: str = secrets.json'
SCOPES: List[str] = ['https://www.googleapis.com/auth/gmail.readonly']
LOCAL_REDIRECT_SERVER_DOMAIN='thermotest.ddns.net'
LOCAL_REDIRECT_SERVER_PORT=80

flow: InstalledAppFlow = InstalledAppFlow.from_client_secrets_file(PATH_FILE_SECRETS, SCOPES)

credentials = flow.run_local_server(LOCAL_REDIRECT_SERVER_DOMAIN, LOCAL_REDIRECT_SERVER_PORT)

我使用google-auth-oauthlib0.2.0last version)。

而且,我已经注册了此重定向URL:

http://thermotest.ddns.net:80   

问题在于方法“ run_local_server”生成的URL以斜杠结尾:

 ...&redirect_uri=http%3A%2F%2Fthermotest.ddns.net%3A80%2F...

解码后的值将为:

 http://thermotest.ddns.net:80/

因此,Google抱怨:

  

请求http://thermotest.ddns.net:80/中的重定向URI与为OAuth客户端授权的重定向URI不匹配。

这是正常现象,因为“ http://thermotest.ddns.net:80/”与“ http://thermotest.ddns.net:80”不完全相同。

如果我通过删除最后一个“ %2F”(删除最后一个斜杠)来修改URL,则可以。

我的问题是:为什么“ run_local_server”会在重定向URL的末尾系统地添加斜线?我可以告诉该方法不要这样做吗?

0 个答案:

没有答案