用于配置和管理多因素身份验证的接口组件

kleides-mfa的Python项目详细描述


KleidesKleides多因素身份验证

https://img.shields.io/pypi/v/kleides_mfa.svgContinuous Integration StatusDocumentation Status

Kleides MFA提供了一个方便的界面来配置、管理和 使用django-otp插件的多因素身份验证进行身份验证。 当前支持的插件包括:

  • django otp中包含的静态设备。在
  • django otp中包含的TOTP设备。在
  • 使用django-otp-yubikey的Yubikey设备。在
  • 使用django-otp-u2f的U2F设备。在
Overview of Kleides MFA authentication method interface.

安装

pip install kleides-mfa

将kleides_mfa添加到您的已安装的应用程序中 django otp插件:

^{pr2}$

添加kleides_mfa.middleware.KleidesAuthenticationMiddleware致 中间件设置后:

MIDDLEWARE = [
    ...
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'kleides_mfa.middleware.KleidesAuthenticationMiddleware',
    ...
]

不要使用django_otp.middleware.otpmidlware以Kleides MFA为例 无法加载OTP设备。在

设置登录URL:

LOGIN_URL = 'kleides_mfa:login'

包括kleides_mfa.url在您的urlpatterns中:

urlpatterns = [
    path('', include('kleides_mfa.urls')),
]

扩展Kleides MFA

可以使用添加或替换身份验证方法 克莱兹_mfa.registry.KleidesMfaPluginRegistry。文档 当前缺少,但您可以检查当前 支持django otp插件来获得一个基本的想法。在

简而言之,对于使用django otp的设备:

  • 使用注册和验证注册django otp模型 应用程序中的表单准备就绪。在
  • 设备注册应该包含在create_form_类中。在
  • 设备验证应包含在verify_form_类中。在

历史

0.1.14(2020-10-22)

  • 在要迁移的数据库上配置ValidationService。在

0.1.13(2020-09-29)

  • 在设备故障时发送用户登录失败信号。在
  • 用Kleides MFA测试Django登录信号。在

0.1.12(2020-09-23)

  • 添加python3.8和django3.1以支持matrix。在
  • 测试无法打印的令牌输入。在
  • 删除将来的语句。在
  • 删除非可选的修补程序用户设置。在

0.1.11(2020-06-11)

  • 修复PermissionDeniedError上的unset plugin属性。在

0.1.10(2020-06-09)

  • 访问坏设备时重新启动身份验证。在
{id10}$

0.1.9(2020-04-15)

  • 替换不推荐使用的Django-3.0函数。在
  • 修复以不同用户身份登录后的会话清理。在

0.1.8(2019-12-10)

  • 转义“其他方法”设备选择中的下一个参数。在
  • 在验证窗体中显示设备名称。在

0.1.7(2019-11-18)

  • 实际上删除了django crispy表单作为一个硬依赖项。在
  • 添加函数获取登录用户的身份验证方法。在

0.1.6(2019-11-14)

  • 重定向到验证url时保留下一个参数。在

0.1.5(2019-11-14)

  • 对所有外部脚本/样式使用cloudflare。在
  • 删除crispy表单作为硬依赖。在

0.1.4(2019-11-12)

  • 添加设置以禁用用户模型的修补。在
  • 修补匿名用户以共享用户模型的属性。在
  • 为没有2步登录的用户添加可配置的重定向 身份验证。在
  • 修复了另一个用户登录时的2步测试登录。在

0.1.3(2019-11-07)

  • 清除插件按钮/表对齐。在
  • django-otp-yubikey添加Yubikey插件。在
  • 仅在以下情况下修补AdminSite管理员已安装。在
  • 删除Python2兼容性分类器。在

0.1.2(2019-11-06)

  • 改进和修复文档。在

0.1.1(2019-11-04)

  • 如果从POST数据中省略,则设置默认设备名。在

0.1.0(2019-11-04)

  • PyPI的第一个版本。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java文件分块,获取长度字节   java嵌入式Tomcat不执行jsf页面   java我的数据库中有2个实体,但hibernate返回其中6个。   java如何基于逗号拆分字符串   java取消已经运行的CompletableFutures的预期模式是什么   java如何在informix中从另一个数据库复制表ddl和数据   为什么图片是黑色的?   java根据字符串数组中的单词筛选列表   Java8的集合。平行流有效吗?   Kotlin中的java静态内部类   java如何在GUI中生成一列字符串   javafx如何正确使用高对比度主题?   带空格的javascript Httpurlconnection参数   java如何设置GridBagLayout的约束   java如何在一个线程可能尚未初始化时关闭另一个线程   java将简单时间格式转换为特殊时间格式(hhmmt)   安卓/java阵列重复过滤器的问题   java在队列的链接实现下,入队和出队是如何工作的   java更新sql外键约束