跳转到主要内容

Django通过登录URL进行身份验证,无需密码。

项目描述

version Documentation Status coverage license

screenshot from a login form

Django Mail Auth是一个轻量级的Django身份验证后端,用户无需记住密码。

Django Mail Auth特性

  • 支持自定义用户模型

  • 集成Django管理后台支持

  • 集成Django用户替换

  • 集成Wagtail登录替换

  • 可扩展的短信支持

本项目灵感来源于

安装

运行以下命令安装 django-mail-auth

python3 -m pip install django-mail-auth[wagtail]

配置

首先将 mailauth 添加到已安装的应用程序

INSTALLED_APPS = [
    # Django's builtin apps…

    'mailauth',

    'mailauth.contrib.admin',  # optional
    'mailauth.contrib.user',  # optional

    # optional, must be included before "wagtail.admin"
    'mailauth.contrib.wagtail',


    # other apps…
]

mailauth.contrib.admin 是可选的,并可以用基于令牌的身份验证替换管理员的登录

mailauth.contrib.user 是可选的,并提供一个新的 Django 用户模型。新的用户模型需要通过 AUTH_USER_MODEL 设置启用

# This setting should be either "EmailUser" or
# any custom subclass of "AbstractEmailUser"
AUTH_USER_MODEL = 'mailauth_user.EmailUser'

# optional, Wagtail only
WAGTAILUSERS_PASSWORD_ENABLED = False

接下来,您需要添加新的身份验证后端

AUTHENTICATION_BACKENDS = (
    # default, but now optional
    # This should be removed if you use mailauth.contrib.user or any other
    # custom user model that does not have a username/password
    'django.contrib.auth.backends.ModelBackend',

    # The new access token based authentication backend
    'mailauth.backends.MailAuthBackend',
)

Django 的 ModelBackend 只有在您仍然想要支持基于密码的身份验证时才需要。如果不,只需从列表中移除它。

最后但同样重要的是,转到您的 URL 根配置 urls.py 并添加以下内容

from django.urls import path


urlpatterns = [
    path('accounts/', include('mailauth.urls')),

    # optional, must be before "wagtail.admin.urls"
    path('', include('mailauth.contrib.wagtail.urls')),
]

这就完成了!

项目详情


下载文件

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

源代码分发

django_mail_auth-3.2.2.tar.gz (17.2 kB 查看哈希值)

上传日期 源代码

构建分发

django_mail_auth-3.2.2-py3-none-any.whl (25.2 kB 查看哈希值)

上传日期 Python 3

支持者

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