问题标签 [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 回答
220 浏览

python - 如何在 Flask-Dance 框架中识别 Google OAuth 是被授权还是被拒绝

抱歉,Flask-Dance 的新手。我使用的模板代码来自: https ://github.com/singingwolfboy/flask-dance-google/blob/master/google.py

据我了解,如果 google.authorized 不正确,它会重定向到路由“google.login”。我想知道是否有办法知道我是否由于未经 O-auth 授权而被重定向,而不是被定向到登录 url。

谢谢

0 投票
1 回答
203 浏览

python - 显示无类型的烧瓶舞注销不可下标

我想删除登录用户的令牌和会话,这样当用户再次尝试登录时,它会再次显示他的谷歌登录页面。我跟着烧瓶舞文件。但是当我尝试注销时,它显示 None 类型不可下标,并且它也没有删除会话。您可以在下面找到我的代码片段。

我在注销路线的第一行收到错误。如何解决这个问题?

0 投票
2 回答
147 浏览

python - Python Flask App 错误:'function' 对象没有使用 Flask-Dance 的属性'get'

我正在使用 Flask-Dance 让用户使用谷歌登录。但是当我走到下面的路线时,它告诉我:'function'对象没有属性'get'。我做错了什么?

如果我写“如果不是 google.authorized”,它也会引发错误。

0 投票
1 回答
99 浏览

flask - 不同域上的 Flask Dance oauth

我正在为不同的服务实现 Oauth,并且正在使用“OAuth2ConsumerBlueprint”(使用烧瓶舞)。我正在考虑 Flask-OAuth,但我认为我最终会遇到与 Flask-Dance 相同的问题。我打算做的是:

  1. 用户继续“.mydomain.com”

  2. 例如,用户单击通过 FB 登录

  3. 用户访问 social.mydomain.com(以便授权 URL 始终相同)

  4. 登录后的用户应该被带到“.mydomain.com”

看起来我找不到办法做到这一点..这应该是可行的。我试图解析出不同的信息,例如:

打印(请求)

打印(request.referrer)

我什至使用了:@oauth_authorized.connect 打印了所有信息,看看我是否可以收集一些额外的信息以重复使用

此外,我尝试在 GET 参数中添加一个“foo”变量,以查看是否可以从 social.mydomain.com 再次读取它,但我不能。不知道如何将用户重定向回原来的 .mydomain.com

关于如何在特定子域上完成身份验证(因此我只需要将一个子域列入白名单)然后将用户重定向到他自己的域的任何建议?

这就是我设置一切的方式:

非常感谢

0 投票
1 回答
847 浏览

flask - 使用 Azure AD 登录的烧瓶舞示例

我正在尝试使用flask-login 和flask-dance 为我的一个应用程序实现SSO。作为起点,我使用 Flask Dance 网站上给出的示例代码 - https://flask-dance.readthedocs.io/en/v1.2.0/quickstarts/sqla-multiuser.html

我所做的唯一改变是 - 我用我的 Azure AD 凭据替换了 GitHub

请在下面找到代码:

我还对“azure.login”的 HTML 文件进行了适当的更改。因此,在python multi.py --setup创建数据库表时运行它之后,在我运行python multi.pyOauth 之后,舞蹈实际上开始了,但最后我收到如下错误:

错误

我错过了什么吗?使用 Flask Dance 和 Flask Login 来通过 Azure AD 进行 SSO 是个好主意吗?或者我应该只与 Flask Session 一起使用 MSAL?请提供您宝贵的意见..

0 投票
1 回答
312 浏览

python - Flask OAuth 2.0 Authorization Code Flow Invalid Authorization Token with Fitbit API

I've been trying to use Flask-dance's OAuth2ConsumerBlueprint to make requests to the Fitbit API. So far, I've managed to get the authorization page to come up on my Flask app but I haven't been able to route to a page where I can view the data yet.

In browser, when I try to make a request I get the output of the CURL response {"errors":[{"errorType":"system","fieldName":"n/a","message":"Authorization Error: Invalid authorization token type"}],"success":false}

My goal right now is just to be able to view the user's fitbit dashboard in my app through the API by making a request through the app to "https://api.fitbit.com/1/user/-/profile.json"

This is my code so far. If anyone could offer some guidance as to where I'm going wrong with the Oauth2.0 authorization code flow, flask, or the fitbit api I would greatly appreciate it.

0 投票
1 回答
72 浏览

azure - 如何使用烧瓶舞 make_azure_blueprint 获得多个 API 范围

我使用烧瓶舞 make_azure_blueprint 将工作天蓝色身份验证层设置为烧瓶应用程序。

范围是:范围 -

使用它,我能够检索用户信息并显示在应用程序上。现在我正在尝试结合 Azure 时间序列洞察范围“https://api.timeseries.azure.com//user_impersonation”。但这会返回一个错误,指出这不能与特定于资源的组混合。 在此处输入图像描述

0 投票
1 回答
3609 浏览

python - 尝试获取公会角色时出现 Discord API 401 未经授权的错误

所以我想做的是为我的机器人创建某种仪表板,我想获得当前的公会角色。当我尝试这样做时,我得到{'message': '401: Unauthorized', 'code': 0}了回应。我尝试了所有方法并查看了多个问题以及 github 上的问题

如果你问我为什么没有把Bearer我的客户秘密放在前面,那是因为我正在使用的库已经把它放在前面了。所以标题会像这样返回:({"Authorization": "Bearer client-secret-here"我也尝试过,但它也不起作用)

我也试过用 requests.get() 来做,但也没有用。我总是得到{'message': '401: Unauthorized', 'code': 0}回应。我怎样才能解决这个问题?

(此代码仅在我尝试获取公会频道和公会角色时不起作用。它适用于公会和用户信息)

我的范围是:["guilds", "identify"]

0 投票
0 回答
127 浏览

nginx - 授权错误错误 400:nginx 负载均衡器后面的 Google Oauth 登录的 redirect_uri_mismatch

我希望每个人都平安无事。我也发布了服务器故障,但没有收到任何回复。

我有一个 Nginx 负载均衡器将请求转发到 Nginx 网络服务器,该服务器将请求反向代理到 gunicorn/flask 应用程序。我正在使用 Flask-Dance 应用程序来管理 OAuth。

当我尝试使用来自负载均衡器域的 google OAuth 登录时,我的登录授权 URL 被重定向到 HTTP,从而导致 400 错误。如果我在我的主要 Nginx 网络服务器上尝试相同的操作,它会完美运行。如何强制负载均衡器转到 HTTPS 下面是我的服务器块文件负载均衡器:

服务器1:

我尝试在两者上强制使用 HTTPS 似乎不起作用。我还尝试将 url_for 中的方案重写为烧瓶端的 HTTPS。谢谢你。

0 投票
0 回答
22 浏览

python - Flask-Dance 不能在缓存数据库中放置超过一行

Flask-Dance 不能添加超过 1 个条目。这也会导致人们登录到其他帐户。这就是数据库一直的样子:

在此处输入图像描述

我们正在使用 sqlalchemy 来缓存用户登录。

这是我们的 Flask 应用程序:

我们真的不知道如何解决这个问题,有人可以帮忙吗?