问题标签 [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.

0 投票
1 回答
1570 浏览

flask - Flask-Security:自定义注册表单无法正确验证

我有一个使用 Flask-Security 的应用程序,用户需要在其中输入其他注册信息。

基于Flask-Security 文档,我创建了一个 ExtendedRegisterForm:

并将其添加到安全初始化中:

我还更新了我的模板以包含其他字段:

我遇到一个问题,当用户输入所有信息并单击提交时,页面刷新并且密码消失,但不存在验证错误。我可以在我的烧瓶日志中看到它已正确发出 POST 请求,但似乎 Flask-Security 没有正确接收它。

如果我删除表单中的 DataRequired() 验证,那么 Flask-Security 将接受 POST 请求,但在将新帐户添加到数据库之前不再检查是否存在电子邮件帐户。

以前有没有人遇到过这个问题,或者您对如何解决这个问题有任何建议?

干杯,约翰

编辑:这是我的模型:

0 投票
2 回答
2990 浏览

python - 如何使用烧瓶安全在登录时运行自定义代码

我是烧瓶的新手,但对 python 有一定的了解——我有一个烧瓶应用程序,它使用烧瓶安全性进行用户身份验证。我想在用户登录过程中添加一些额外的功能。具体来说,我需要在用户登录时将用户的 auth_token(我设置为一次性令牌)保存到数据库,并在他们注销时将其删除。问题的出现是因为flask-security 没有(据我所知)将登录机制直接暴露给开发人员。据我从代码中可以看出,它导入了使用 login_user 函数的烧瓶登录。

我首先尝试通过导入 flask.ext.login (通常我不需要这样做)并重新定义该函数来覆盖此函数,如下所示:

然而,我遇到了各种各样的命名空间问题,这似乎是一种非常丑陋的方法。

我在想可能有一种方法可以使用装饰器,但我是烧瓶的新手,无论如何都没有使用过装饰器。

关于解决此问题的最佳方法的任何想法可能是什么?对于上下文,我想要数据库中的 auth_token,因为我需要将网站身份验证传递给另一个进程,该进程也访问数据库。另一个进程是使用 websockets 的 API 服务器。我不想合并这些过程。

0 投票
3 回答
1508 浏览

python - 如何自定义 Flask-security 提供的注册?

例如,如果需要将用户角色设置为,我该怎么办FooUser?我需要在哪里做这个?在我自己的/create_account观点或上下文处理器中?

0 投票
1 回答
447 浏览

python - Flask-security - 如何在 user_registered 信号中获取表单数据?

我从这里开始,现在我有这个代码:

现在我有兴趣从注册表单中获取数据。我需要这样做,因为表单内部有一些对另一个数据库模型有用的字段。如何访问此上下文处理器中的表单数据?也许我应该改变register_user方法并添加一些额外的 kwargs?

0 投票
1 回答
779 浏览

python - Flask:基于令牌的授权

我正在用 Flask 构建一个基本应用程序:它有一个唯一的路由,只请求一个令牌身份验证,即如果标头中提供的令牌是正确的,那么请求就得到了满足。为此,我同时安装了FlaskFlask-Security. 这是我的应用程序的一个片段:

我通过运行来测试它:

$ curl -H 'Authorization: Token token="mytoken"' localhost:5000/myurl

甚至:

$ curl localhost:5000/myurl

但是,我收到以下错误:

你知道错误在哪里吗?是在应用程序中还是在 Flask 库之间存在一些冲突?

编辑:添加Security(app)初始化

0 投票
1 回答
2660 浏览

python - Flask-安全访问登录管理器

我正在开发一个烧瓶应用程序。我已经决定使用 Flask-Security 来实现它的许多强大功能。但是,除了他们在此处提供的 QuickStart 之外,我很难找到工作代码的示例。具体来说,我需要从我知道 Flask-Security 使用的 Flask-Login 插件访问登录管理器。这是否意味着我需要从 Flask-Security 导入 Login-Manager?访问它的最佳方式是什么?

谢谢您的帮助!

0 投票
2 回答
4520 浏览

python - 使用 Flask-Security 每个用户的唯一盐

在这里阅读了一些关于加盐密码的内容后,似乎最好为每个用户使用唯一的盐。我正在实施 Flask-Security atm,从文档看来你只能设置一个全局盐:即 SECURITY_PASSWORD_SALT = 'thesalt'

问题:如何为每个密码制作唯一的盐?

谢谢!

编辑:从 Flask-Security 的文档中,我发现了这一点,这似乎再次表明该模块仅对所有开箱即用的密码使用单一盐。

0 投票
1 回答
1779 浏览

python - Installed bcrypt on windows for python and passlib--still have MissingBackendError

Trying to get bcrypt working on windows has been a challenge. I finally found a reddit thread pointing to a windows distribution of bcrypt (http://www.reddit.com/r/flask/comments/15q5xj/anyone_have_a_working_version_of_flaskbcrypt_for/), and it finally installed, see below!

However, when trying to use it with passlib I'm still getting the following error:

here's the full trace:

Anyone have a clue what I'm missing?

0 投票
1 回答
9353 浏览

python - 芹菜的困难:函数对象没有属性“延迟”

我最近一直在忙于软件开发,并且已经成功地将芹菜弯曲成我的意愿。

我已经成功地使用它来发送电子邮件,并且刚刚尝试使用几乎完全相同的代码(在重新启动所有进程等之后)通过 Twilio 发送短信。

但是我不断收到以下问题:

我的代码如下:

从我的 views.py 调用时 send_email.delay 工作正常,但是 send_sms.delay 每次都因上述错误而失败。

任何有关故障排除的帮助表示赞赏。

- 按照要求:

我的 send_sms celery 装饰功能显示为已注册任务:

对于配置,我只是使用 guest:rabbitmq

0 投票
2 回答
2723 浏览

rest - 使用 Flask-Security 作为 REST API 的一部分

Flask-Security 文档提到了对所有重要视图端点的JSON/Ajax 支持。因此,可以通过使用 JSON 对象访问视图来获得所有内置 Flask-Security 的强大功能。

但是,现在我试图将它用作 RESTful API 的一部分,但它不起作用,因为它需要一个 CSRF 令牌,这对于网页来说是必需的,但对于 API 来说不是:

解决这个问题的最佳方法是什么?