问题标签 [flask-oauthlib]
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.
python - 如何在 Flask MethodView 中使用装饰器(例如,oauth.require_oauth)
这可能是一个 Python 新手问题(即,不了解装饰器)。
我有一个视图类,我想通过要求 OAuth 身份验证来保护它(我已经设置并工作了所有 OAuth 东西)。
文档说这样做:
但我有一个 MethodView 类:
我可以注入 OAuth 对象,但是如何使用它来达到相同的效果呢?
python - 如何用flask_oauthlib交换一次性授权码获取访问令牌?
我正在使用Python Flask 框架构建一个 API,在该框架中,我现在从一个应用程序接收到一个“一次性授权代码”,据推测我可以使用 Gmail API(在此处描述)交换访问和刷新令牌。
我一直在使用Oauthlib在浏览器中进行常规授权,效果很好。所以我发现这个页面有一些如何实现它的示例代码。示例中的代码以开头,from your_validator import your_validator
我立即被卡住了。我在这里找到了一些关于实现自定义验证器的内容,但是在该页面的顶部它说flask_oauthlib已经实现了这个。
有没有人有一个示例如何使用flask_oauthlib 交换一次性授权代码以获取访问权限和刷新令牌?欢迎所有提示!
python - Flask oauth 2 资源所有者密码流程
我正在使用 flask-oauthlib 模块来开发 oauth 2 客户端和提供者
使用资源所有者密码流时,提供者不会重定向到客户端的重定向 url。
这是我用于向提供商发送帖子的客户端代码:
这里是提供者 authorize_handler
还有 Flask-oauthlib oauth 2 提供者日志
我看到它的方式,令牌正在被保存但是: -
不发生重定向
它会导致客户端永远加载,直到我重新启动它(即使我尝试访问其他路由,客户端也没有响应)
我错过了什么?
注意:
我已经实现了服务器端流程和客户端流程,它们工作得很好
我还是烧瓶的新手
python - 从 fetch 发送请求时会话消失
我正在尝试使用 Gmail API 通过 Flask-Authlib 访问电子邮件。用户授权后,服务器将在会话中放置一个访问令牌,然后将其定向到反应路由/test
。在由 调用的反应组件中/test
,它将向GET
后端中的另一个方法发送请求以获取电子邮件信息,但是,尽管我将会话生命周期设置得足够长,但访问令牌不再存在。
所以流程是这样的:登录 -> 授权(返回前端) -> 向后端发送 Get 请求/index
。
任何帮助,将不胜感激。
服务器:
客户:
python-3.x - 使用 Flask-OAuth 请求数据时,Unicode 对象必须在散列之前进行编码
我正在使用Flask-OAuth将 Google 的登录信息与 Flask 站点集成。
一切正常。我可以毫无困难地授权登录并取回令牌等。但是当我使用 Flask-OAuth 的get
方法来请求登录用户的电子邮件地址时,我收到一条错误消息:
TypeError: Unicode-objects must be encoded before hashing
我正在使用 Python3,这有 Python 版本问题的味道,但我不知道我需要更改什么。
我正在使用的代码是这样的:
我不确定我可以在该请求中编码什么。即使我没有传递标头,我也会收到相同的错误(而不是无效请求或类似的东西)。
我已经运行了 2to3,oauth2/__init__.py
建议进行的调整非常小,不应阻止代码在 Python 3 中运行。此外,与 OAuth2 相关的所有其他内容都可以正常工作。
python - 基于 Flask-Stormpath 令牌的身份验证
我正在尝试为我的 Flask REST API 实现基于令牌的身份验证。我使用 Stormpath 作为我的第三方身份验证服务。
我研究了flask-stormpath
建立在flask-login
. 看起来它使用基于密码的身份验证,因为他们试图在服务器上维护会话。此外,文档没有为我提供足够的信息。
我们是否有基于 Stormpath 令牌的身份验证的烧瓶集成?如果是,有人可以指出我的示例代码。
我已经浏览了stormpath/flask-stormpath-sample
github,它再次在服务器中维护会话。
参考:
python - 烧瓶登录记住不起作用
我正在开发一个小型 Web 应用程序。我正在使用https://pythonhosted.org/Flask-OAuth库进行 Google 的社交身份验证。另外,Flask-Login
. 我已成功设置授权回调并授权用户。我也可以使用login_user(user, remember=True)
.
这将创建一个名为remember_token
365 天到期的 cookie。但是,当我关闭浏览器(Firefox、Chrome)和重新打开我的应用程序时,就会出现问题。
在 Firefox 中使用Tools->Privacy->Remove Individual Cookies
,我可以看到 remember_token cookie。但是,当我导航到索引页面/
时,我已经设置了这个功能..
导航到/
打印调试信息并成功重定向到/home
发生。但是,此重定向被拦截@login_required
,我被重定向到/google-login?next=%2Fhome
要求我再次登录。此外,remember_token
在此阶段也将其删除。我在 Firefox 中检查后确认。
我不明白为什么记住功能不能正常工作。或者为什么remember_token
要删除。中间我什么都不做。循序渐进,
- 我最初登录。直到浏览器没有关闭,一切正常。所有
@login_required
的工作。 - 当我关闭浏览器并重新打开时,直到我没有打开我的网络应用程序,
localhost:5000
仍然有一个 cookie namesremember_token
。 - 一旦我打开,第一个
current_user.is_authenticated
on/
返回 True,从此时开始,每个 @login_required 都要求重新登录。
我正在使用 Flask-sqlalchemy 和 MySQL 作为数据库。我的用户模型是
我的用户加载器
任何帮助将非常感激。
谢谢!
python - 带有 flask_oauthlib 的 Twitter oauth,无法生成请求令牌
我尝试使用 flask_oauthlib 访问我的 twitter api,但我得到的只是错误:无法生成请求令牌。这是代码。
这在使用http://term.ie/oauth/example/client.php时不起作用,我设法获得了请求令牌。
我用https://github.com/lepture/example-oauth1-server/blob/master/client.py和http://flask-oauthlib.readthedocs.io/en/latest/client.html启发了自己
编辑
奇怪的事实:我在这里尝试了代码:https ://github.com/lepture/flask-oauthlib/blob/master/example/twitter.py 我没有更改密钥和秘密并且它有效。
因此,我尝试将它们更改为我自己的凭据,但它停止了工作。实在看不懂。。。
python - 将用户名和密码传递给 Flask Oauth2 Server(密码授予类型)
我正在使用 Flask-Oauthlib 实现 Flask REST API,想知道在 URL 参数中传递用户名和密码是否可以?例如:
在我的开发环境中,所有请求都在日志中显示为纯文本,如下所示:
有没有办法在请求标头中传递base64编码的用户名/传递?所有密码授予类型示例都在 URL 参数中使用用户名和密码,所以不知道如果服务器将使用 SSL,这是否是一个真正的问题。
python - 使用 Flask-OAuthlib,我如何强制 Facebook 要求重新认证帐户?
我正在使用Flask-OAuthlib包通过 Google 和 Facebook 实现对 OAuth 2 提供者的身份验证。
对于谷歌,我正在使用这个:
对于 Facebook,代码类似:
此处提供了更完整的示例。
使用 Google 提供商时,我可以成功登录,一旦我注销,当我再次尝试登录时,我会被重定向到显示帐户列表的 Google 页面并让我选择一个。
使用 Facebook 提供商时,我可以成功登录,但是一旦我注销,当我再次登录时,Facebook 不再询问任何内容,而是使用以前使用的帐户自动登录我。
我如何强制 Facebook 重新进行身份验证,即每次向用户显示 Facebook 页面,从而可以选择给定的帐户?