All Projects → codingjoe → django-mail-auth

codingjoe / django-mail-auth

Licence: MIT license
Django authentication via login URLs, no passwords required

Programming Languages

python
139335 projects - #7 most used programming language
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to django-mail-auth

ios-application
A native, lightweight and secure one-time-password (OTP) client built for iOS; Raivo OTP!
Stars: ✭ 581 (+1110.42%)
Mutual labels:  otp, password
Supertokens Core
Open source alternative to Auth0 / Firebase Auth / AWS Cognito
Stars: ✭ 2,907 (+5956.25%)
Mutual labels:  password, auth0
macos-receiver
A MacOS TabBar (StatusBar) application that securely receives one-time passwords (OTPs) that you tapped in Raivo for iOS.
Stars: ✭ 44 (-8.33%)
Mutual labels:  otp, password
ootp
OOTP (Open One-time Password) is a supports multiple programming languages. The generated one-time passwords are fully compliant with HOTP (HMAC-based One-time Password) and TOTP (Time-based One-time Password). 🚀It's easy to use!
Stars: ✭ 17 (-64.58%)
Mutual labels:  otp, password
Authenticator
🔒 Happy Two-Factor Verifying!
Stars: ✭ 53 (+10.42%)
Mutual labels:  otp, password
Onetimepassword
🔑 A small library for generating TOTP and HOTP one-time passwords on iOS.
Stars: ✭ 243 (+406.25%)
Mutual labels:  otp
chrome-thief
A small program, lists all the stored user name and passwords with urls in Google Chrome.
Stars: ✭ 14 (-70.83%)
Mutual labels:  password
Gotp
Golang OTP(One-Time Password) Library.
Stars: ✭ 233 (+385.42%)
Mutual labels:  otp
Nitrokey App
Nitrokey's Application (Win, Linux, Mac)
Stars: ✭ 210 (+337.5%)
Mutual labels:  otp
cerebro-pass
Cerebro plugin for pass.
Stars: ✭ 15 (-68.75%)
Mutual labels:  otp
auth0-golang-web-app
Auth0 Integration Samples for Go Web Applications
Stars: ✭ 112 (+133.33%)
Mutual labels:  auth0
flutter otp
A Flutter package for iOS and Android for sending and verifying OTP to a Phone number.
Stars: ✭ 59 (+22.92%)
Mutual labels:  otp
Pin code fields
A flutter package which will help you to generate pin code fields with beautiful design and animations. Can be useful for OTP or pin code inputs 🤓🤓
Stars: ✭ 245 (+410.42%)
Mutual labels:  otp
libnitrokey
Communicate with Nitrokey devices in a clean and easy manner
Stars: ✭ 61 (+27.08%)
Mutual labels:  otp
Libreoffice Impress Templates
Freely-licensed LibreOffice Impress templates
Stars: ✭ 238 (+395.83%)
Mutual labels:  otp
crotp
CrOTP - One Time Passwords for Crystal
Stars: ✭ 62 (+29.17%)
Mutual labels:  otp
Freeotpplus
Enhanced fork of FreeOTP-Android providing a feature-rich 2FA authenticator
Stars: ✭ 223 (+364.58%)
Mutual labels:  otp
auth0-cli
Build, manage and test your Auth0 integrations from the command line
Stars: ✭ 186 (+287.5%)
Mutual labels:  auth0
CodeEditText
验证码,密码输入框。支持密码、明文展示。背景支持边框、填充、下划线展示。支持自定义背景和文本样式
Stars: ✭ 25 (-47.92%)
Mutual labels:  password
vietnamese-password-dicts
Tổng hợp danh sách mật khẩu wifi tiếng Việt sử dụng cho aircrack-ng
Stars: ✭ 40 (-16.67%)
Mutual labels:  password

Django Mail Auth

version Documentation Status coverage license

screenshot from a login form

Django Mail Auth is a lightweight authentication backend for Django, that does not require users to remember passwords.

Django Mail Auth features:

  • custom user model support
  • drop in Django admin support
  • drop in Django User replacement
  • drop in Wagtail login replacement
  • extendable SMS support

This project was inspired by:

Installation

Run this command to install django-mail-auth:

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

Setup

First add mailauth to you installed apps:

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 is optional and will replace the admin's login with token based authentication too.

mailauth.contrib.user is optional and provides a new Django User model. The new User model needs to be enabled via the AUTH_USER_MODEL setting:

# 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

Next you will need to add the new authentication backend:

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's ModelBackend is only needed, if you still want to support password based authentication. If you don't, simply remove it from the list.

Last but not least, go to your URL root configuration urls.py and add the following:

from django.urls import path


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

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

That's it!

Note

Don't forget to setup you Email backend!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].