2-Factor Authentication for Django projects
Project description
django-j2fa
2-factor SMS authentication for Django projects. Supports Django 3.x and 4.x.
Install
Add ‘j2fa’ to project settings INSTALLED_APPS
Add j2fa.middleware.Ensure2FactorAuthenticatedMiddleware to project settings MIDDLEWARE (after session middleware)
Make sure user.profile.phone resolves to phone number and user.profile.require_2fa resolves to True/False. Alternatively, you can override Ensure2FactorAuthenticatedMiddleware.is_2fa_required
Set project settings SMS_TOKEN and SMS_SENDER_NAME
Add TwoFactorAuth.as_view() to urls with name=’j2fa-obtain-auth’
Supported Settings
in settings: * SMS_TOKEN: Kajala Group (https://kajala.com) SMS API token. Contact info@kajala.com for access * SMS_SENDER_NAME: SMS sender name, max 13 characters * J2FA_ENABLED: Enabled/disable 2FA system-wide. Default is True * J2FA_SEND_TO_EMAIL: Send 2FA codes also to email. Default is False. * J2FA_FALLBACK_TO_EMAIL: Send 2FA codes to email if SMS sending fails. Default is False.
Static Code Analysis
The library passes both prospector and mypy checking. To install:
pip install prospector pip install mypy
To analyze:
prospector mypy .
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.