【发布时间】:2019-11-09 16:31:53
【问题描述】:
我知道oauth2client 已被弃用,但仍然是我们使用的那个。
当我使用 Google 启动 oauth2 进程时,它总是试图将我重定向到我的应用程序的 HTTP 版本。
我已经看到 Flask 的 url_for 方法应该是基于请求上下文的,当我启动进程时(即调用 oauth2authorize url),我在 HTTPS 中。所以我不明白为什么它会在 HTTP 中传递一个redirect_uri...
这是Flask的代码
flow = client.OAuth2WebServerFlow(
client_id=self.client_id,
client_secret=self.client_secret,
scope=scopes,
state=state,
redirect_uri=url_for('oauth2.callback', _external=True),
**kw)
如果有帮助的话,我的应用可以在 App Engine 中灵活运行。我还尝试将我的 Flask 应用程序的 PREFERRED_URL_SCHEME 设置为“https”。
如果不清楚:我不希望 redirect_uri 是 HTTP,我的应用应该只是 HTTPS ;-)
【问题讨论】:
-
你能确认
print(url_for('oauth2.callback', _external=True))给你一个https方案吗?另外,您的 Google OAuth 设置中的授权重定向 uri 中是否有 https url?
标签: python-2.7 flask app-engine-flexible oauth2client