问题标签 [flask-security]
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.
flask - 用户似乎以其他用户身份登录
我正在使用 Flask-Security 来管理用户,并且我收到用户以自己身份成功登录的报告,但是当他们随机加载页面时,它会显示他们以完全不同的人身份登录。我不确定我哪里出错了。发生这种情况的可能方式有哪些?
我使用 UserService 来做一些简单的用户管理。我在每个请求之前实例化一个用户服务并传入 current_user。
然后,我从这个方法中获取 UserService 中的当前用户:
这在执行此 API 请求代码时调用:
python - Flask-Security:如何在主 py 文件之外设置数据库?
我正在使用 Flask-Security 1.7.4 和 Flask 0.10.1。
如果数据库方案存储在 python 文件中,我运行我的网站没有问题app.py
:
但是我想分离更多我的代码,这样我就可以拥有:
所以我尝试了:
在security.py
:
并在app.py
:
我收到以下错误:
问题是,如果我保留所有代码,app.py
它就可以完美运行。当然数据库要存在。
你能告诉我我做错了什么吗?
谢谢 :)
flask - 什么在 Flask-Security 中运行 activate_user()
我查看了 Flask-Security 的代码,无法弄清楚是什么运行 datastore.activate_user() 所以 current_user.is_active 返回 True ?
我使用自定义登录表单。表单已验证,但 login_user 返回 False。
主manage.py的摘录:
这是models.py
接受表单时应该自己运行 datastore.activate_user() 吗?
asynchronous - 使用 Flask-Security 发送异步电子邮件
我正在尝试将 Flask-Security 配置为异步发送电子邮件。
我有一些通过 Flask-Mail 发送异步电子邮件的代码,但是我无法将它与我的应用程序工厂功能集成,以便它与 Flask-Security 一起工作。
应用工厂:
在 Flask-Security 文档中,它说用于@security.send_mail_task
覆盖扩展程序发送电子邮件的方式。
那么我到底在哪里实现这个装饰器呢?好像我把它放在应用程序工厂的任何地方,我都会得到循环导入。
这些是我尝试使用的异步电子邮件功能,取自此问题:
需要将此代码放在哪里才能与应用程序工厂一起使用?
提前致谢。
python-3.x - 带有烧瓶安全扩展的基于令牌的身份验证
我目前正在寻找一种使用基于令牌的身份验证来保护 REST API 的方法。我正在使用 Flask 在 Python 中开发 API,并发现了 flask-security 扩展,它似乎有很多有趣的特性。
文档中提到的功能之一是令牌身份验证。
根据文档:
基于令牌的身份验证通过执行 HTTP POST 来检索用户身份验证令牌来启用,其中身份验证详细信息作为针对身份验证端点的 JSON 数据。成功调用此端点将返回用户的 ID 和他们的身份验证令牌。此令牌可用于对受保护资源的后续请求。
但是,对于如何使用烧瓶安全性实现此功能,我仍然有些困惑。一些在线研究使我使用了诸如 @auth_token_required 之类的东西,但我在将所有内容放在一起时遇到了一些麻烦。烧瓶安全文档本身并不是很有帮助。
例如,用户如何获得身份验证令牌?什么是身份验证端点?
如果你能带领我朝着正确的方向前进,那就太好了。代码示例也很棒:-)
python - 当某些方法需要身份验证而某些方法不需要时,在 Flask 中构建 RESTful API
我正在 Flask 中创建一个新的 RESTful API,它应该接受给定对象的 GET(用于请求资源)和 PATCH(用于执行各种增量、非幂等更新)。问题是,修补的某些数据必须经过身份验证,而有些则不应该。
举个例子来说明这一点,假设我正在构建一个应用程序,让每个人都可以查询一个资源被点击了多少次,以及它的页面被查看了多少次。它还让人们在 javascript 中更新资源,说资源被再次点击(未经身份验证,因为它来自前端)。它还让经过身份验证的后端增加页面被查看的次数。
因此,遵循 RESTful 原则,我认为所有三个操作都应该在同一条路径上完成——比如/pages/some_page_name
应该接受 GET 和 PATCH,并且应该接受两种不同类型的数据和 PATCH。问题是,在 Flask 中,看起来身份验证总是使用方法周围的装饰器完成,所以如果我有一个类似 的方法@app.route('/pages/<page_id>', methods=['GET', 'PATCH'])
,我的身份验证将使用@auth.login_required
整个方法的装饰器完成,这甚至会强制方法不需要身份验证即可进行身份验证。
所以,我的问题是三个方面:
- 我在构建同一路径下提到的所有三个动作时是否正确/这很重要吗?
- 如果我是对的,这很重要,我如何只要求对一种类型的 PATCH 进行身份验证?
- 如果这不重要,那么构建此 API 的更好或更简单的方法是什么?
python - 尝试使用 Flask-Security 手动确认用户电子邮件时,确认令牌无效
试图弄清楚当我调用 send_confirmation_instructions 和使用内置的重新发送确认指令表单调用它时有什么不同。
这是我的新用户视图中的调用:
这是来自发送确认视图的内置调用:
据我所知,所有的魔法都发生在这个函数上:send_confirmation_instructions(user)
我可以告诉我如何调用它和 Flask-Security 如何调用它的唯一区别是我使用的是用户实例,而内置函数使用 form.user。
追踪它使用的表单,我什至看不到 form.user 的分配位置:
我现在很迷茫,所以我向你们寻求帮助。任何想法我做错了什么?
angularjs - 如何从本机移动应用程序登录到 Flask-Security
我为我的单页应用程序设置了 Flask-Security - 并遇到了很多人遇到的 CSRFToken 问题(Flask-Security CSRF 令牌)。在我的 Web 应用程序中,我将 CSRFToken 放入 HTML 中,抓取页面以找到它,并使用它从 Angular 发送我的登录请求作为我的 POST 中的请求标头。
这很有效,但是,如果我从移动应用程序通过 ajax 访问它们,保护 API 的程序是什么?因为我假设我需要做的是首先从移动应用程序登录,存储我的 auth_token,然后在后续的 API 调用中使用它。
这里的问题...我是否需要在我的 /login 页面上进行获取,抓取 CSRF 令牌,使用它向我的服务器发送登录请求,首先获取身份验证令牌?通过 REST 从移动应用程序中抓取 HTML 以获取 CSRF 令牌似乎有点草图。
另外,顺便说一句:我不确定我是否应该将 API 保护为:
或者
python-2.7 - Flask 安全性 - TemplateAssertionError:没有名为“urlencode”的过滤器
我刚刚在我的烧瓶项目中添加了烧瓶安全性。它在本地工作,但在 OpenShift 上报告此错误:
我不知道这是否是一些错误的库版本,或者如何调试它。这是我的 setup.py 包列表:
database-design - Flask:将模型连接到文件,例如个人资料图片
如果重要,我会在我的应用程序中使用 Flask-Security、Flask-SQLAlchemy 和 Flask-Admin。
我应该如何设计我的应用程序,以便我可以将数据库中的一行与一个或多个文件连接起来,例如用户到他们的个人资料图片?