
Security News
ECMAScript 2025 Finalized with Iterator Helpers, Set Methods, RegExp.escape, and More
ECMAScript 2025 introduces Iterator Helpers, Set methods, JSON modules, and more in its latest spec update approved by Ecma in June 2025.
This Django app adds two factor authentication to Wagtail. Behind the scenes it use django-otp_ which supports Time-based One-Time Passwords (TOTP). This allows you to use various apps like Authy, Google Authenticator, or 1Password.
.. _django-otp: https://django-otp-official.readthedocs.io
.. code-block:: shell
pip install wagtail-2fa
Then add the following lines to the INSTALLED_APPS
list in your Django
settings:
.. code-block:: python
INSTALLED_APPS = [
# ...
'wagtail_2fa',
'django_otp',
'django_otp.plugins.otp_totp',
# ...
]
Next add the required middleware to the MIDDLEWARE
. It should come
after the AuthenticationMiddleware:
.. code-block:: python
MIDDLEWARE = [
# .. other middleware
# 'django.contrib.auth.middleware.AuthenticationMiddleware',
'wagtail_2fa.middleware.VerifyUserMiddleware',
# 'wagtail.core.middleware.SiteMiddleware',
# .. other middleware
]
Migrate your database:
.. code-block:: shell
python manage.py migrate
The following settings are available (Set via your Django settings):
WAGTAIL_2FA_REQUIRED
(default False
): When set to True all
staff, superuser and other users with access to the Wagtail Admin site
are forced to login using two factor authentication.WAGTAIL_2FA_OTP_TOTP_NAME
(default: False
): The issuer name to
identify which site is which in your authenticator app. If not set and
WAGTAIL_SITE_NAME
is defined it uses this. sets OTP_TOTP_ISSUER
under the hood.With the default VerifyUserMiddleware
middleware, 2FA is enabled for every user.
To make 2FA optional, use the VerifyUserPermissionsMiddleware
middleware instead.
To do so, use the VerifyUserPermissionsMiddleware
middleware instead of the VerifyUserMiddleware
in your Django settings:
.. code-block:: python
MIDDLEWARE = [
# ...
# 'wagtail_2fa.middleware.VerifyUserMiddleware',
'wagtail_2fa.middleware.VerifyUserPermissionsMiddleware',
# ...
]
When this middleware is used, a checkbox is added to the group permissions and 2FA can be enabled or disabled per group.
2FA is always enabled for superusers, regardless of the middleware used.
First create a new virtualenv with Python 3.8 and activate it. Then run the following commands:
.. code-block:: shell
make sandbox
You can then visit http://localhost:8000/admin/ and login with the following credentials:
superuser@example.com
testing
FAQs
Two factor authentication for Wagtail
We found that wagtail-2fa demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
ECMAScript 2025 introduces Iterator Helpers, Set methods, JSON modules, and more in its latest spec update approved by Ecma in June 2025.
Security News
A new Node.js homepage button linking to paid support for EOL versions has sparked a heated discussion among contributors and the wider community.
Research
North Korean threat actors linked to the Contagious Interview campaign return with 35 new malicious npm packages using a stealthy multi-stage malware loader.