Password-less authentication: login by clicking on a magic link received by email.
Project description
Django Magicauth
Authentifiez vos utilisateurs sans mot de passe avec Django Magicauth
Fonctionnement (FR)
Lorsqu'un service utilise Django Magicauth, les utilisateurs s'authentifient en entrant leur adresse email. Ils reçoivent alors un email avec un lien de connexion. S'ils cliquent sur le lien, ils sont authentifiés et redirigés sur le service.
How it works (EN)
Django Magicauth brings password-less authentication to your project.
Installations and testing instructions (EN)
Quick start
- Install MagicAuth
pip install git+https://github.com/betagouv/django-magicauth.git
- Add "magicauth" to your INSTALLED_APPS in
settings.py
INSTALLED_APPS = [
# all your apps
"magicauth",
]
- Include the magicauth URLconf in your app's
url.py
# After your previous imports
from magicauth import views as magicauth_views
from magicauth.urls import urlpatterns as magicauth_urls
urlpatterns = [
# here are your URL patterns
]
urlpatterns.extend(magicauth_urls)
- Add the following items in your project's settings.py`
MAGICAUTH_FROM_EMAIL = 'contact@mysite.com'
MAGICAUTH_LOGGED_IN_REDIRECT_URL_NAME = 'home'
-
Run
python manage.py migrate
to create the polls models. -
Setup your (mailer)[https://docs.djangoproject.com/en/2.2/topics/email/#console-backend] in
settings.py
In dev mode, you can use a (console mailer)[https://docs.djangoproject.com/en/2.2/topics/email/#console-backend] -
Make sure you have the following middlewares
MIDDLEWARE = [
# [...] other middleware you may have
"django.contrib.sessions.middleware.SessionMiddleware",
"django.contrib.messages.middleware.MessageMiddleware",
"django.contrib.auth.middleware.AuthenticationMiddleware",
"django.contrib.sites.middleware.CurrentSiteMiddleware",
]
Contribute to Magic auth
To contribute to magicauth, you can install the package in the "editable" mode
pip uninstall django-magicauth # just in case...
pip install -e git+https://github.com/betagouv/django-magicauth.git#egg=django-magicauth
You can also install a specific branch, for instance for testing a PR. To install branch my-branch
:
pip install -e git+https://github.com/betagouv/django-magicauth.git@my-branch#egg=django-magicauth
Django-magicauth is now a dependency for your project, and you can editable the code located here:
cd src/django-magicauth
run tests
Create a virtual env for the project or reuse one and source it.
Install dependencies and run tox
cd src/django-magicauth
pip install -r requirements.txt
tox
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.