问题标签 [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.
python - KeyError:Flask_security 中的“安全性”?
我正在使用 Flask 构建一个网站,现在我正在尝试使用Flask_Security进行基于令牌的身份验证。我现在想从用户那里获得一个 auth_token,为此我使用get_auth_token() 方法。不幸的是,我在此消息下方得到了堆栈跟踪。
有人知道出了什么问题吗?欢迎所有提示!
python - 如何让 Flask_Security 中的 auth_token_required 工作?
我正在尝试为使用 Flask 的应用程序构建一个基于令牌的后端(API),我正在尝试使用Flask_Security。由于我使用的是Peewee ORM,因此我已按照本指南构建基本设置,现在我必须构建应该登录用户的视图,然后构建一个实际提供一些有用数据的视图。
所以我返回令牌的登录视图如下所示:
这很好用;我得到一个令牌作为响应。我现在想保护另一个视图,auth_token_required
并且我想将令牌用作标题。所以我尝试如下:
但是启动 Flask 会导致AttributeError: 'str' object has no attribute '__module__'
. 该文档对其使用也不是很有帮助。
有人知道我怎样才能让它工作吗?欢迎任何提示!
python - 使用烧瓶安全确认注册时出错
我正在使用烧瓶安全来处理用户注册、登录等。在使用默认烧瓶安全视图注册新用户时遇到问题。
编辑
我设法在解决问题上取得了一些进展。最初的问题是我没有提供 load_user 回调。现在我正在这样做:
问题是确认 url/view 似乎使用了 AnonymousUser,因此查询过滤器与正确的用户不匹配。有什么线索吗?
原来的
我能够在注册视图中提供用户邮件和密码,我成功收到了一封确认电子邮件(flask-security 提供的默认模板)但是当我尝试确认帐户时点击邮件确认链接我得到了以下属性错误:
这是完整的回溯:
这是我的应用程序配置:
这是我的模型定义(我使用的是 mongodb):
有没有人知道问题可能是什么?提前致谢!
python - 将“外部”类模型与烧瓶 sqlalchemy 关联
我们为各种 python 模块使用中心类模型。这个模型是使用 SQLAlchemy 定义的。这些类都继承自 declarative_base。
例如,我们的模型定义如下所示:
我们一直在构建一个烧瓶网络应用程序,我们在其中使用相同的模型。我们发现了一个棘手的问题,flask-sqlalchemy 的设计方式似乎是,它期望其模型中使用的所有类都通过传入会话的活动实例来定义。这是一个“正确的”flask-sqalchemy 类模型定义的示例:
请注意,flask-sqlalchemy 的上述示例需要一个已经实例化的 sql 会话。这让我们感到震惊,因为我们完全不知道如何将我们的 SqlAlchemy 模型集成到烧瓶中。我们真的特别想使用烧瓶安全套件。
之前在 SO 上已经提出过这个问题。在这里,例如: 如何将 flask-sqlalchemy 与现有的 sqlalchemy 模型一起使用?
我们的要求与那里接受响应的人不同。响应指出失去了使用 User.query 的能力,但这正是我们必须保留的内容之一。
放弃我们漂亮的、优雅的、中心类模型定义来支持 flask-sqlalchemy 似乎需要的东西是不可行的。我们有什么方法可以将我们的模型与 SQLAlchemy() 对象关联起来?在我们的类上获得 .query() 方法的奖励积分似乎是烧瓶安全所必需的。
angularjs - 使用角度从烧瓶中提供令牌保护文件
- 我有一个文件,与烧瓶一起提供,受基于令牌的身份验证保护。
- 我想从 Angular 应用程序提供下载
- 令牌存储在角度会话中并放入每个 $http.get 或 post 的标题中
但是当我只是放置一个指向烧瓶路径的链接时,令牌不会添加到请求标头中,因为它不是角度 $http.get() 而只是一个普通的锚,我不能这样做(对吗?)。
我不想将 url 中的令牌作为查询字符串参数传递。我如何向用户提供下载?我应该先将它 $http.get() 转换成 Angular 然后将它作为文件下载通过隧道吗?
登录后的令牌存储:
它被注入到每个 $http get 或 post 中:
烧瓶(带有烧瓶安全)部分:
我该如何解决这个问题?
sqlite - 使用 AWS Elastic Beanstalk 烧瓶 SQLAlchemy 数据库 - 浪费时间?
我已成功将 Flask 应用程序部署到 AWS Elastic Beanstalk。该应用程序使用 SQLAlchemy 数据库,我正在使用 Flask-Security 来处理登录/注册等。我正在使用 Flask-Migrate 来处理数据库迁移。
这里的问题是,每当我使用git aws.push
它时,它都会将我的本地数据库推送到 AWS 并覆盖实时数据库。我想我想做的只是从 AWS EB 中“拉”实时,并且只在极少数情况下推送。
我能否访问已推送到 AWS 的 SQLAlchemy 数据库?或者,这不可能吗?也许有一些组合.gitignore
和.elasticbeanstalk
设置可以工作?
我正在使用 SQLite。
flask - 在 Flask 中分配组权限
我有一个使用 Flask-Security 和 MySQL 的 Flask 应用程序。不幸的是,Flask-Security 不提供组/多租户管理(https://github.com/mattupstate/flask-security/issues/285)。
我想实现以下内容:
- 登录时,用户输入他/她的登录凭据。
- 查询用户数据库以查看用户属于多少组(管理、会计、销售等)。
- 如果用户属于多个组,则会出现一个弹出窗口,列出用户所属的组。
- 选择组后,用户登录,并为用户的会话设置全局变量(tenant_id 或 group_id)。然后,此全局变量可用于预过滤用户的任何 DB 搜索。
我不确定如何实现步骤 2 和 4。可以使用 Flask g.object ( http://flask.pocoo.org/docs/0.10/api/#flask.g ) 来实现这样的事情吗?
flask - 如何使用 Jinja2 和 Flask 在模板级别实现粒度 ACL?
如何使用 Jinja2 和 Flask 在模板级别实现粒度 ACL?
这是我在没有 Jinja2 上下文字典或任何预构建的 Flask ACL 库的情况下所拥有的。这是我自己的伪 ACL,我只需在数据库中查询角色并将其放入我的索引函数中。
(源代码修改自The Flask Mega-Tutorial)
我已经查看了几个用于 Flask 和 ACL 的库,例如
https://github.com/mikeboers/Flask-ACL
但我找不到的是如何将 ACL 应用于呈现模板中的特定项目,而不管任何 Flask 库。
如果我有一个名为“秘密信息”的按钮,但该页面可供所有人使用,我该如何保护该按钮?该render_template
函数已被调用。
或者,有时我可能有一组只有特定主管级别的人才能看到的编辑信息,我不想创建单独的模板。
唯一接近的是 Jinja2 的 contextfilter,
http://jinja.pocoo.org/docs/dev/api/#jinja2.runtime.Context
但是,我不确定如何使用它。
除非只有几个组,否则我上面的方式似乎非常难以管理。较大的集合将需要嵌套组和优先级。
python - 如何覆盖 Flask-Security 中注册表单的字段?
如何覆盖 Flask-Security 中的默认注册表单是删除所有标签属性。在文档中有一段自定义视图,但在示例中是将字段添加到表单中,我需要更改默认值。
python - “TypeError:hashpw() 参数 1 必须是 str,而不是字节”,当尝试使用 flask-security 注册用户时
我正在尝试使用Enferno 框架创建一个小型烧瓶应用程序,但是当我尝试注册用户时,我收到一个似乎由 passlib 库生成的错误。我不明白这是我做的事情还是图书馆本身的错误。
这是完整的追溯: