跳转到主要内容

瓶头认证插件

项目描述

瓶头认证的Readme

https://circleci.com/gh/level12/keg-auth.svg?&style=shield&circle-token=b90c5336d179f28df73d404a26924bc373840257 https://codecov.io/github/level12/keg-auth/coverage.svg?branch=master&token=hl15MQRPeF

瓶头生态系统中的Flask扩展,用于封装认证和授权功能。瓶头认证提供了认证模型、视图/授权设置、受保护导航菜单等的辅助工具。

安装

  • 基本功能: pip install keg-auth

  • 带有邮件(即配置了邮件管理器,见下文): pip install keg-auth[mail]

  • JWT(用于使用JWT令牌作为验证者): pip install keg-auth[jwt]

  • LDAP(用于使用LDAP目标进行认证): pip install keg-auth[ldap]

  • OAuth(例如Google Auth): pip install keg-auth[oauth]

  • 国际化扩展: pip install keg-auth[i18n]

简单示例

有关简单示例和应用程序设置的清单,请参阅文档中的入门指南

演示

典型用法在https://github.com/level12/keg-app-cookiecutter中展示

开发

运行此项目的测试

  • 复制 keg_auth_ta-config-example.py -> keg_auth_ta-config.py,根据需要更新

  • 如有需要,使用环境变量或 docker-compose 覆盖来覆盖数据库地址和/或端口。

  • docker-compose up [-d]

  • tox …

定义了一个测试应用程序,可以像这样运行

  • cd keg_auth_ta

  • python app.py …

变更日志

0.8.0 版本发布于 2024-06-28

  • 支持 Python 3.12 (66a3706

  • 由于弃用警告,将 passlib.pwd 的使用移动到 utils 方法中 (6bc20ab

0.7.3 版本发布于 2023-10-17

  • 使用传递给 auth 管理器的 oauth 验证器类 (b6feae6

  • 在同步时捕获 sqlite 数据库发出的权限错误 (ba0d3b2

0.7.2 版本发布于 2023-05-22

  • 处理由于 werkzeug 2.3 和 flask 2.3 变更导致的多个潜在会话 cookie (8b4680e

0.7.1 版本发布于 2023-05-12

  • 允许直接将请求加载器指定给 requires 装饰器 (cd42358

0.7.0 版本发布于 2023-03-03

  • 支持 SQLAlchemy 2.0 (88a6173

  • 支持 keg 测试应用程序上下文更改 (d0ec64f

0.6.2 版本发布于 2022-12-20

  • 捕获未知哈希错误,以防止无效密码数据导致应用程序错误 refs #160 (5f2b721

0.6.1 版本发布于 2022-12-15

  • 在运行 auth 测试时支持多个数据库会话 (a5cab4a

  • 在文档中修复了升级说明 (b537bba

0.6.0 版本发布于 2022-12-12

  • 更新破坏性变更的文档 (1ebb337

  • BC break 支持 keg-elements 0.8.0 (6d4b251

  • 当表单验证失败或 csrf 无法验证时记录尝试日志 (60edacb

  • 当用户表单字段中缺少 disabled_utc 时解决字段顺序错误 (0e2ae74

  • 记录已知数据迁移问题 (23ec6fe

  • 将 python-ldap 锁定在包索引中的版本 (0b1d2b7

  • 应用解决方案以支持使用 flask-login 0.6.2 的测试 (d1446a9

  • 删除弃用的 OIDC 代码和任何剩余的 python 2 引用 (10b1144

0.5.7 版本发布于 2022-08-12

  • 防止尝试测试在应用程序中设置某些配置值时失败 (b2f7e27

0.5.6 版本发布于 2022-08-12

  • 在执行过程中跳过尝试测试以避免导入顺序问题 (8ea6f57

0.5.5 版本发布于 2022-08-10

  • 对于日期禁用的用户登录时闪烁,当重新启用时自动清除禁用日期 (9330f62

0.5.4 版本发布于 2022-07-08

  • 在用户 ID 上进行不区分大小写的匹配 (d01c310

  • 在测试中使用相对 URL (6d6f959

0.5.3 版本发布于 2022-02-24

  • 修复集成身份验证测试 (4318826)

0.5.2 版本发布于 2022-02-24

  • 添加 OAuth 验证器以替代过时的 OIDC 实现 (606c952)

  • 将基本用户/组/捆绑 CRUD 测试添加到集成身份验证测试中 (0c84a2d)

  • 向后不兼容 默认要求设置速率限制,简化配置 (7d7b532)

0.5.1 版本发布于 2022-02-22

  • 由于 flask-oidc 当前中断,警告使用 OIDC 验证器 (c582781)

  • 潜在的向后不兼容 在用户表单上使用 keg-elements 字段排序方案 (ee31b79)

  • 向 NavItems 添加类和代码选项以更好地控制渲染 (2842cc2)

  • 在注销时清除 flask 会话,可以通过配置设置关闭此行为 (71e6b10)

  • 停止覆盖模板中的标题块,使用配置值设置应用模板的正确变量 (210f227)

  • 在 CRUD 方法中加载 ORM 实体 (89bc7d4)

0.5.0 版本发布于 2022-02-21

  • 使用 keg-elements 的 Bootstrap 4 基础表单模板 (16c393a)

  • 转向 authlib 以生成/验证验证令牌 - 现在支持生成 itsdangerous 令牌 refs #147 (e96ac2e)

0.4.2 版本发布于 2022-01-20

  • 将 commonmark 替换为 markdown-it-py (8b4822d)

0.4.1 版本发布于 2021-11-29

  • 修复在类/蓝图上使用可调用权限的导航使用 (f19f513)

  • 用户表单:不要假设 csrf_token 字段存在 (07fe642)

  • 改进测试开发者用户体验 (b687c72)

0.4.0 版本发布于 2021-09-13

  • 确保网格标题帖子受支持 (e0638dc)

  • 默认使用 Bootstrap 4 模板 (39335bc)

  • 在测试中将权限集的验证集中化 (9f04f1d)

  • ViewTestBase 在设置中不再删除用户,并提供了用户创建的钩子 (7d72fc3)

  • 增强登录/注销情况下的导航菜单选项 (667a1ac)

  • 重命名包以获得适当的语义 (6a6a202)

0.3.0 版本发布于 2021-07-06

  • click 改变了隐藏输入的输出,解决了 set-password CLI 的问题 (6cd5a09)

  • 更新 python 需求和 pip 使用 (760da0b)

  • 添加选项以排除特定 HTTP 方法从身份验证检查 (b66d090)

  • 更新 JWT 使用以反映 flask-jwt-extended 4.0 破坏性更改 (1cd0895)

  • 将 ldap 依赖项切换到 python-ldap (63485f3)

0.2.28 版本发布于 2021-04-20

  • 支持 http head 请求中的参数 (97f8961)

  • 锁定 flask-jwt-extended < 4,直到我们支持更新

0.2.27 版本发布于 2021-02-02

  • 修复国际化支持的文档 (8a41f03)

  • 使表单/crud 模板对基础模板如何渲染页面标题的意见更少 (0b71303)

0.2.26 版本发布于 2021-01-29

  • 提供Spinx文档(《[链接](https://github.com/level12/keg-auth/commit/62aca54)》)

  • 为crud-list提供默认的JS处理器以确认删除(《[链接](https://github.com/level12/keg-auth/commit/7b6785a)》)

  • 使用marksafe和jinja模板代替webhelpers2(《[链接](https://github.com/level12/keg-auth/commit/8f68e07)》)

  • 允许用户在用户表单后防止发送欢迎邮件(《[链接](https://github.com/level12/keg-auth/commit/3bb8f7a)》)

  • 验证create_form返回了值(《[链接](https://github.com/level12/keg-auth/commit/83ff034)》)

  • 在权限同步时捕捉完整性错误以减轻竞争条件(《[链接](https://github.com/level12/keg-auth/commit/4d7497c)》)

  • 将disabled_utc移动到其他字段一起(《[链接](https://github.com/level12/keg-auth/commit/dd1bf5e)》)

0.2.25发布于2020-12-08

  • CRUD视图通过self.assign设置的参数进行传递(《[链接](https://github.com/level12/keg-auth/commit/efeb7b7)》)

  • CRUD视图编辑/删除在查找ID之前执行授权(《[链接](https://github.com/level12/keg-auth/commit/efeb7b7)》)

  • CRUD视图添加了webgrid渲染限制处理(《[链接](https://github.com/level12/keg-auth/commit/efeb7b7)》)

0.2.24发布于2020-07-09

  • 修复测试中不一致的CLI参数排序(《[链接](https://github.com/level12/keg-auth/commit/d9a62c0)》)

0.2.23发布于2020-06-11

  • 允许应用程序强制实施自定义密码策略(《[链接](https://github.com/level12/keg-auth/commit/7111c20)》)

  • 在CI中检查翻译(《[链接](https://github.com/level12/keg-auth/commit/825d32e)》)

0.2.22发布于2020-04-16

  • 允许对登录和密码重置进行速率限制(《[链接](https://github.com/level12/keg-auth/commit/d243b75)》)

  • 为OIDC提供更多配置灵活性(《[链接](https://github.com/level12/keg-auth/commit/39beae0)》)

0.2.21发布于2020-04-02

  • 解决模糊/缺失的翻译(《[链接](https://github.com/level12/keg-auth/commit/a78de96)》)

  • 为用户添加失效日期(需要迁移以添加字段)(《[链接](https://github.com/level12/keg-auth/commit/0020fbd)》)

  • 支持最新的Flask-Login(《[链接](https://github.com/level12/keg-auth/commit/ba59925)》)

  • 允许未验证的用户重置他们的密码(《[链接](https://github.com/level12/keg-auth/commit/8888386)》)

  • 固定keg-elements要求以支持CRUD复选框(《[链接](https://github.com/level12/keg-auth/commit/e59fcc1)》)

  • 包括405响应的Allow头(《[链接](https://github.com/level12/keg-auth/commit/a2a3091)》)

  • 支持多个LDAP目标(《[链接](https://github.com/level12/keg-auth/commit/b895aad)》)

  • 处理HEAD请求(《[链接](https://github.com/level12/keg-auth/commit/b16a7e4)》)

  • 删除six依赖(《[链接](https://github.com/level12/keg-auth/commit/477a415)》)

0.2.20发布于2020-03-24

  • OIDC及相关更新(《[链接](https://github.com/level12/keg-auth/commit/fab68f5)》)

  • 添加OIDC验证器和登录/注销视图响应器

  • 修复权限视图缺失的页眉

  • 允许将蓝图kwargs传递给make_blueprint

  • 简化特定认证视图的禁用

  • 允许禁用视图响应器的flash消息

  • 删除批量权限控制(keg-elements现在有更好的模板化)

0.2.19发布于2020-02-21

  • 改进权限下拉菜单的可用性(《[链接](https://github.com/level12/keg-auth/commit/479e985)》)

  • 固定Flask Login(《[链接](https://github.com/level12/keg-auth/commit/00ea957)》)

0.2.18发布于2020-01-10

  • 为开发人员添加设置密码的CLI命令(《[链接](https://github.com/level12/keg-auth/commit/d488bc9)》)

0.2.17发布于2019-12-12

  • 确保重发验证邮件时存在令牌(《[链接](https://github.com/level12/keg-auth/commit/01b566f)》)

0.2.16发布于2019-12-02

  • 修复CRUD编辑表单关系的默认值(《[链接](https://github.com/level12/keg-auth/commit/01893f9)》)

0.2.15发布于2019-11-27

  • 修复CRUD视图的捆绑网格设置(b772f01

0.2.14版本发布于2019-11-21

  • 修复与select2更新相关的模板问题(373739b

  • 使认证测试辅助程序更加通用(b90ee96

0.2.13版本发布于2019-11-08

  • 使用select2在用户管理视图中渲染选择框(30ff332

  • 修复与keg 0.8.1的兼容性问题(3f5668d

  • 调整CI环境以使用(b9b4fb4

  • 认证测试辅助程序使用端点来查找正确的URL(76a1222

0.2.12版本发布于2019-10-03

  • 支持装饰Flask类视图(3d8a6cb

  • 修复LDAP认证器在用户缺失的情况下的问题(19d184e

0.2.11版本发布于2019-09-27

  • 修复权限同步方法和测试钩子(a56eda4

  • 修复CRUD列表视图模板中的FontAwesome使用问题(64f759a

  • 在导航辅助程序和模板中支持懒加载字符串和图标(4473571

  • 移除flask版本限制(ab47362

0.2.10版本发布于2019-09-18

  • 修复测试工具的mock导入,以防止需要mock依赖(da197df

0.2.9版本发布于2019-07-27

  • 在CRUD基类上提供一个钩子以允许覆盖默认的添加URL生成(#74)(7eea8bb

0.2.8版本发布于2019-06-17

  • 解决测试权限存在检查中的bug(feccb98

0.2.7版本发布于2019-06-07

  • 使自定义操作访问控制更容易(63921ee

  • 强制测试权限被指定给认证管理器(794f320

  • 在CRUD表单和测试模型中纠正MRO顺序(2f4c451

  • 添加get_current_user辅助方法(cae02a2

  • 使网格操作列的链接CSS类可定制(aa1bc21

  • 确保CRUD视图传递所需的模板参数(aae3dad

0.2.6版本发布于2019-02-12

  • 合并pull request #60 from level12/move-sync-perms-to-entity(3181691

  • 更新readme以删除对view-scoped认证器的引用(514c202

0.2.5版本发布于2018-11-14

  • 允许make_blueprint接受自定义蓝图类(fe635b2

  • 添加重发验证邮件的链接(f7a6191

  • 添加使用morphi的可选i18n支持(790d3ab

  • 修复由登录时间戳导致的间歇性测试失败(cde083b

  • 重构CRUD表单/网格渲染以提取模板参数(34d4a20

0.2.4

  • 即使关闭mail标志,也显示验证URL

0.2.3

  • 修复与blueprints一起使用requires_user装饰器的问题

0.2.1

  • 修复基于每个用户缓存导航项

  • 修复在CLI中生成的令牌应用了未知时区的问题

0.2.0

  • 支持权限

  • 装饰蓝图、类和方法以实现用户/权限要求

  • 支持请求加载器以获取令牌

0.1.0

  • 初始发布

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪一个,请了解有关安装包的更多信息。

源分发

Keg-Auth-0.8.0.tar.gz (122.3 kB 查看散列值)

上传时间

构建分发

Keg_Auth-0.8.0-py2.py3-none-any.whl (119.1 kB 查看散列值)

上传时间 Python 2 Python 3

由以下赞助

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面