问题标签 [flask-dance]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
841 浏览

python-3.x - 烧瓶舞和错误:redirect_uri_mismatch

我正在关注文档中的示例:

我已在 Google 开发人员控制台中将我的 Web 客户端应用程序配置为仅接受使用https://www.example.com/login/google/authorized端点的 HTTPS。

在我尝试启动整个身份验证过程后,我得到了这个:

我可以在 Flask-Dance 发送的请求中看到http://www.example.com/login/google/authorized(使用 HTTP,而不是 HTTPS)。有没有办法告诉 Flask-Dance 改用 HTTPS?我也为 HTTPS 配置了我的开发环境。

0 投票
1 回答
154 浏览

flask - 如何在烧瓶舞上发送带有 json 数据的发布请求?

我正在尝试在我的烧瓶舞蹈扩展上向谷歌日历的忙闲服务发送 POST 请求。但我收到“405 Method Not Allowed”错误。我不知道如何调试它。

我必须在请求正文中传递 JSON 数据。我已经提到了请求文件。我是烧瓶和烧瓶舞的新手,任何帮助将不胜感激。

响应应该是 json 数据

0 投票
0 回答
195 浏览

python - 如何在尝试修复 Flask-Dance 中的“无法在没有关联用户的情况下获取 OAuth 令牌”错误时修复 SQLAlchemy IntegrityError

对于我的网络应用程序,我使用 Flask-Dance 让用户只通过登录他们的 Google 帐户来创建他们的帐户(我不希望他们必须创建任何新的用户名或密码)。当我第一次尝试这样做时,我遇到了错误:

我发现了另一个处理这个问题的帖子(链接到它:flask_dance: Cannot get OAuth token without an associated user)。答案的#3 部分是我正在尝试做的事情,但是当我尝试“手动创建用户帐户并将其与 OAuth 令牌相关联”时,我从 SQLAlchemy 收到以下错误:

我几乎可以肯定这是来自令牌。我不知道为什么它不接受我传递给它的令牌。如果我能够解决此错误,我认为代码将手动创建用户帐户并将其与 OAuth 令牌相关联,然后我可以摆脱(正如其他帖子所说的那样):

行中的“user_required=False”:

现在我需要帮助修复数据库错误,但如果您发现任何其他潜在错误,这将非常有帮助。我是网络开发的新手,因为我正在尝试自学这个过程。由于此错误可能源于我的代码中的任何位置,因此我在下面附上了我的 python 文件。

0 投票
1 回答
973 浏览

python - Flask-Dance:没有名为“flask_dance.consumer.backend”的模块

这是我在这里的第一个问题,请不要吃我!我完全是新手,出于某种OAuth原因,我尝试使用烧瓶舞蹈编写烧瓶应用程序。似乎我做了一些愚蠢的事情,因为当我尝试import SQLAlchemyBackend class from flask_dance.consumer.backend.sqlaPython 时返回

ModuleNotFoundError:没有名为“flask_dance.consumer.backend”的模块

你能告诉我我到底做错了什么吗?

我为 SQLAlchemy db 使用 flask-dance[sqla] 版本。首先我安装了没有 SQLAlchemy 支持的基本版本,然后我卸载了它并安装了当前版本(全部在 venv 中)。这是否可能影响 FD 功能及其自身的模块和子模块方案?

我不知道如何解决这个问题以及去哪里。谷歌也无济于事。

我在引用中看到的是:

0 投票
2 回答
158 浏览

python - 如何使用http协议实现社交账号认证

我正在尝试使用 Flask、Google App Engine 和 Flask-dance 在本地实现 Google 社交登录。

我遵循了 Flask-dance 作者从此链接提供的示例。

这是主文件:

当我访问http://localhost:8080/login-gmail时,服务器将我重定向到选择谷歌帐户页面。然后,当我选择一个帐户时,我收到此错误:

INFO 2019-07-11 14:47:13,476 module.py:861] 默认值:“GET /login/google HTTP/1.1”302 989 WARNING 2019-07-11 14:47:21,345 urlfetch_stub.py:575] 禁止剥离URLFetch 请求的标头:['Content-Length'] WARNING 2019-07-11 13:47:21,828 connectionpool.py:403] 无法解析标头(url= https://accounts.google.com:443/o/ oauth2/令牌): 预期 httplib.Message,得到 . 回溯(最后一次调用):文件“C:\Users\tah\Documents\some-name\m\src\lib\urllib3\connectionpool.py”,第 399 行,在 _make_request assert_header_parsing(httplib_response.msg) 文件“C :\Users\Tah\Documents\some-name\m\src\lib\urllib3\util\response.py",第 56 行,在 assert_header_parsing 类型(标题)中))类型错误:预期 httplib.Message,得到。错误消息:EXCEPTION IN(1982,('连接中断:IncompleteRead(35 字节读取)',IncompleteRead(35 字节读取)))('连接中断:IncompleteRead(35 字节读取)',IncompleteRead(35 字节读取))信息2019-07-11 13:47:21,884recording.py:676] 已保存;键:appstats :041000,部分:455 字节,完整:18063 字节,开销:0.000 + 0.012;关联: http://localhost:8080/_ah/stats/details?time=1562852841009 INFO
2019-07-11 14:47:21,895 module.py:861] 默认值:“GET /login/google/authorized?state=sfUHmqfKiy61fnvh1UUsVydJv3vO5L&code=4 %2FgwHWN8roL2HIxqxtBoFKySXod_jErJ0NB7ofNpdFtLwS2Zebc2rx959sPDOvUThrdlKfQEKWAj0bEbtJxBsskao&scope=email+profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+openid&authuser=2&session_state=7ea8a7963e2773849220b0eb3ddf063f9c5e3ef8.. 3331&prompt=同意 HTTP/1.1" 500 41241

这个答案中,我了解到如果 Flask-Dance 正在使用 HTTP 生成重定向 URL,这意味着 Flask 认为传入的请求正在使用 HTTP。如果传入的请求实际上使用的是 HTTPS,那么 Flask 就会在某个地方感到困惑,主要是因为代理。但是这个答案并没有告诉我们如何修复错误。

谢谢您的回答。

0 投票
1 回答
250 浏览

python - 使用 Flask-Dance-SQLA 完成 OAuth 舞蹈后,使用实际 API 的最佳方法是什么?

我正在工作:https ://github.com/singingwolfboy/flask-dance-google-sqla并让 OAuth 模板开始工作。

我一直在尝试获取一些代码来使用 Google Calendar API,使用模板设置方式来做到这一点的最佳方法是什么?

这是定向的正确方法吗?或者是否有一个带有附加标头的会话对象可以直接使用?

我一直在尝试获取令牌(来自 SQLAlchemy 数据库)并执行 requests.post 之类的操作,但返回 Not Found。

0 投票
1 回答
2363 浏览

python - 使用 Flask-dance 和 Google oauth 获取“缺少所需参数:refresh_token”

我正在使用 Flask-dance 来对我的应用程序的用户进行身份验证。身份验证提供者是 Google。

不时会引发以下异常:

环顾这个问题,我可以找到两个方向:

  1. offline=True在创建 Google 蓝图时使用
  2. 实现错误处理程序TokenExpiredError

我两者都做了并将我的应用程序部署到 GAE,但我仍然面临同样的错误。从堆栈跟踪中,我了解到正在调用错误处理程序,但是在代码尝试恢复时引发了“refresh_token”

我的代码:(代码基于Google QuickStart和 Flask-dance issue 143

我目前的理解是TokenExpiredError被捕获并index调用了函数。当函数尝试调用resp = google.get(user_info_url)InvalidClientIdError: (invalid_request) Missing required parameter: refresh_token引发。

知道如何解决吗?

0 投票
1 回答
1484 浏览

python - Google oauth - 获取用户电子邮件

我正在使用 Flask dance 来验证用户身份(使用 Google 作为身份验证提供者)我尝试获取用户电子邮件并尝试了几个选项 - 他们都没有返回电子邮件。

代码片段:(google is flak-dance Google blue print)

我尝试了以下网址:

  1. https://openidconnect.googleapis.com/v1/userinfo

  2. https://www.googleapis.com/auth/userinfo.email

  3. https://www.googleapis.com/oauth2/v3/userinfo

  4. https://www.googleapis.com/oauth2/v3/tokeninfo

我正在使用范围:scope=["profile", "email"]创建 Google 蓝图时。我得到的数据结构是:

在页面https://console.cloud.google.com/apis/credentials/consent的“OAuth 同意屏幕”页面下的“Google API 范围”部分下,我有以下条目:

  • 电子邮件
  • 轮廓
  • 打开ID

我的问题是:

如何获取上述字段用户的电子邮件?

谢谢

0 投票
1 回答
40 浏览

oauth - 为什么通过 Flask Dance 连接到 Google Search Console API 时出现错误?

我正在创建一个从 Google Search Console API 检索数据的烧瓶应用程序。

但是,我很难用 Flask-Dance 实现 Google OAuth。

我收到以下错误:

在此处输入图像描述

这是我的代码:

我还按照以下步骤在 Google Developers Console 中设置了应用程序,如下所述: https ://flask-dance.readthedocs.io/en/v0.8.0/quickstarts/google.html

在此处输入图像描述

任何想法可能是什么问题?

提前谢谢了

0 投票
0 回答
198 浏览

flask - 烧瓶舞 Azure AD 身份验证令牌过期异常

我已经建立了一个带有 Azure AD 身份验证的 Python 烧瓶网站。该站点运行良好,并且正确地将我验证为登录该站点的 AD 用户。但是,一段时间后,AD 身份验证过期,而不是我所期望的刷新令牌或重定向登录的标准行为,令牌过期并且站点产生 500 内部服务器错误。这是我的烧瓶代码:

以下是令牌过期时 Elastic Beanstalk / Apache 日志中的错误:

现在我知道有一个变通办法,说尝试/捕获过期错误并将用户再次重定向到登录页面。但是肯定有一种方法可以比捕获异常更好地配置或编码吗?我已经使用 ASP.NET 网站完成了 Azure AD 身份验证,并且从来不需要做那种事情,到期会自然而然地交给用户,并且用户会重定向到再次登录。