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

python - python 2.7 和 3.3+ 在 __init__.py 和同一目录中的模块中导入时的区别

最近我遇到了一个问题,即我从烧瓶安全中使用的信号在 python 3.3 中的行为不符合预期。在查看 flask-security 的源代码时,我注意到我从 flask-security 包中的模块导入的信号也导入了__init__.py. 通过从包的顶层导入信号,我能够解决我的问题(因为信号在包初始化时被导入)。

如果我运行以下代码:

我将True使用 python 2.7,我将False使用 python 3.3+。

python 3.3+有什么不同导致导入行为的这种差异?

编辑: 我仍然被 python 2.7 vs 3.3+ 的问题难住了,但是已经设法缩小了当__init__.py调用 flask.ext 并使用exthook.py中的 ExtensionImporter 类导入 flask-security 时发生的问题。

True当直接导入flask-security时,在python 3.4下运行以下命令会返回,避免扩展挂钩:

这是用于 flask.ext.security 和 flask_security 示例的信号的 repr():

0 投票
1 回答
30905 浏览

python - 如何在 Flask 中实现令牌认证?

我正在尝试允许用户使用他们的帐户从单独的 Web 服务登录到我的 Flask 应用程序。我可以联系此 Web 服务的 api 并接收安全令牌。如何使用此令牌对用户进行身份验证,以便他们可以访问受限视图?

我不需要将用户保存到我自己的数据库中。我只想在会话中对它们进行身份验证。我相信这可以使用 Flask-Security 和 @auth_token_required 装饰器来完成,但文档不是很详细,我不知道如何实现它。

编辑:

这是一个代码示例:

0 投票
1 回答
788 浏览

flask - 为什么烧瓶安全重定向到未经授权的视图

我正在尝试烧瓶安全......它有很多不错的部分。我遇到了一些古怪的行为,虽然我不太明白。从我查看的代码来看,代码的工作方式看起来非常有意,但我无法理解其中的原理。

如果您使用保护视图@auth_token_required并且不满足条件,则返回 401。完全有道理。

但是,如果您使用保护视图@roles_required并且不满足标准,则服务器将重定向 (302) 到未经授权的视图。

这对我来说毫无意义,为什么他们都不会表现得一致。事实上,在这两种情况下,我都想要并期待 401。

谁能解释原因以及我为什么想要这个?或者有人可以解释自定义 @roles_required 行为的最佳方法吗?

谢谢!

0 投票
1 回答
4343 浏览

rest - 通过 Flask-JWT REST API 使用 Flask-Security 角色

我正在构建一个基于 Flask 的 REST API 并使用 Flask-JWT 来处理 JWT 身份验证。我还想使用 Flask-Security 的内置角色管理。但是,Flask-Security 的 @roles_required() 装饰器假定我在失败时显示 Flask 视图。

这是我的令牌端点(按我的意愿工作):

这是对没有任何角色要求的资源的成功响应(仅使用@jwt_required)这也可以按我的意愿工作:

当我对具有所需角色的资源(例如本例中的管理员)执行相同操作时,似乎假设我有一个要显示的页面,例如 /login,但我没有,因为它是一个无头 REST API:

我知道 Flask-Security 在幕后使用 Flask-Principal 进行角色管理(@roles_required 等),它与数据存储区的 RoleMixin 和 UserMixin 相关联,这非常好。但是,如果没有办法让 Flask-Security 只允许资源通过而不使用我的 JWT 标头,那么最好的选择是构建我自己的装饰器,它使用 Flask-Principal 来管理角色。

有人对这个有经验么?这个想法是整个前端可以并且将以我们需要的任何语言构建,这意味着它可能不是 Flask 的模板/视图,而 Flask-Security 似乎正在做的。

感谢您提供任何人都可以提供的见解!

0 投票
1 回答
281 浏览

python - 为什么我的 pip install flask-security 不断下载错误的项目代码?

最近,由于升级到 Flask-Login 0.3,flask-security 一直在中断。问题在于从方法定义到 is_active() 和 is_authenticated() 的属性定义分别到 is_active 和 is_authenticated。此更改正在破坏我的 Flask 应用程序进行注册、登录。

在这个项目 url 上正确的 Flask-Security 代码我需要这个版本,因为如果你查看decorators.py文件is_authenticated(),之前破坏的方法会正确地更改为 is_authenticated。

但是,每当我调用时,我都会pip install flask-security得到一个代码不正确的版本。我的站点包目录中的版本指定 1.7.4 应该是正确的版本。那么为什么会中断。

我解决了这个问题,easy_install flask-security但我很困惑为什么 pip install 不起作用。还有其他人有这个问题吗?

0 投票
1 回答
831 浏览

python - How is the return value of Flask-Security's context processor used?

I am trying to customize my register view for flask-security as specified in the documentation.

I don't know what return dict(hello="world") does. Am I supposed to be able to access this dict in the register_user view? Adding that line of code doesn't do anything to change the template at all. Is it supposed to show up in the template? How do I use this feature?

0 投票
3 回答
919 浏览

flask - 更改密码时如何防止使用旧的flask-jwt令牌

我是使用 JWT 和 flask-jwt 的新手。我在我的项目中实现了 flash-jwt。即使我更改了用户密码,从 flask-jwt 收到的访问令牌也不会过期。那么如何防止使用旧的 flask-jwt 令牌。

0 投票
1 回答
232 浏览

security - 需要有关 Flask 安全模块的密码哈希算法的建议

在我的一个烧瓶项目中,我将Flask-security模块用于安全机制。在模块配置中,密码散列算法bcrypt、sha512_crypt、pbkdf2_sha512有 3 种选择。

任何人都可以建议我使用哪个,为什么?

任何帮助,将不胜感激。

0 投票
1 回答
4241 浏览

flask - Flask-Security 重置密码

我正在尝试在项目中使用 Flask-Security。我已经在 SO 上进行了搜索,但我只是找不到简单地实现重置密码功能的方法。我只是不明白在这种情况下如何使用烧瓶安全 APi。

我注意到所有的模板都可以在他们的 github 上找到,我也检查了源代码,但这就像一个谜。

如果您对如何实施重置密码有一些好的提示、建议或示例,那将是非常好的。

对不起,我的英语不好

0 投票
1 回答
861 浏览

python - DataError:(psycopg2.DataError)整数的无效输入语法:“https://api.stormpath.com/v1/accounts/xxxxxxxxxxxxxxxxxxx”

我使用的是 Flask-Stormpath,然后我切换到 Flask-security 而不是 Flask-Stormpath。所以我卸载它(stormpath)。但不知何故,我不知道它正在使用stormpath帐户来查找用户详细信息。