Faciliter la gestion de l'authentification avec le module Apache mod_shib depuis Django
Project description
Django mod_shib
Application Django destinée à faciliter la gestion de l'authentification avec mod_shib. Elle fournit une route (URL) devant être gérée par mod_shib, ainsi que des pages prêtes à l'emploi pour l'authentification.
Distribué sous Licence CeCILL-C
Avertissement
Pour des raisons de sécurité, ne jamais installer cette application en production sans que la configuration du module
Apache mod_shib
n'ait été correctement réalisée en amont, particulièrement lorsque
les variables de configuration MODSHIB_CREATE_ACCOUNT
et MODSHIB_ACTIVATE_ACCOUNT
valent vrai.
Pré-requis
Cette application Django dépend de l'application django.contrib.auth
. Il est également attendu que la variable
LOGIN_REDIRECT_URL
dans votre settings.py
soit renseignée
(voir documentation Django à ce sujet).
Un serveur Apache avec le module Shibboleth est requis. Voir à ce sujet la documentation spécifique.
installation
Installation via pip:
pip install django-modshib-certic
Ou via poetry:
poetry add django-modshib-certic
Puis ajouter modshib.apps.ModshibConfig
dans le settings.py
de votre projet Django:
INSTALLED_APPS = [
[...]
"modshib.apps.ModshibConfig",
]
Ainsi que la configuration des routes dans votre urls.py
:
urlpatterns = [
[...]
path("modshib/", include("modshib.urls"))
]
L'URL pour modshib sera alors à /modshib/sso
.
Ajoutez également le contexte dans la configuration de vos gabarits :
TEMPLATES = [
{
[...]
"OPTIONS": {
"context_processors": [
[...]
"modshib.context_processors.modshib_context"
],
},
},
]
Configuration pour settings.py
MODSHIB_CREATE_ACCOUNT
Valeur par défaut : False
S'il n'existe pas déjà, crée un compte local (modèle django.contrib.auth.models.User
)
dont le username
est l'EPPN fournit par mod_shib
.
Le compte est créé sans mot de passe et est inactif par défaut.
MODSHIB_ACTIVATE_ACCOUNT
Valeur par défaut : False
Active le compte local s'il est trouvé (User.is_active=True
).
MODSHIB_EMAIL_IS_IDENTIFIER
Valeur par défaut : False
L'email renvoyé par l'IDP est utilisé en remplacement de l'EPPN dans toutes les requêtes impliquant le username
du
modèle django.contrib.auth.models.User
, ce qui inclut le login est la création de compte.
MODSHIB_FORMS_TITLE
Valeur par défaut: Authentification
Titre utilisé dans les formulaires de connexion/déconnexion.
MODSHIB_STYLESHEET_URL
Valeur par défaut: None
URL utilisée pour ajouter des styles CSS aux pages d'authentification
MODSHIB_SHOW_SSO_LOGIN
Valeur par défaut: True
Afficher ou non le formulaire de connexion via SSO
MODSHIB_SHOW_LOCAL_LOGIN
Valeur par défaut: True
Afficher ou non le formulaire de connexion locale
MODSHIB_SSO_SUBMIT_LABEL
Valeur par défaut: Connexion via SSO
Texte du bouton de connexion via SSO
MODSHIB_LOCAL_SUBMIT_LABEL
Valeur par défaut: Connexion avec mot de passe
Texte du bouton de connexion locale
APP_URL_BASE_PATH
Valeur par défaut: /
Préfixe utilisé pour déployer l'application
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.
Source Distribution
Built Distribution
Hashes for django_modshib_certic-0.2.7.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe52a1be4c5824f2957ec04aae897298f497a464f219dae850d0df6c9f49b33a |
|
MD5 | b702f7d9f37f05e7301d6df9015b6c08 |
|
BLAKE2b-256 | 2e76d8191da3db65c074d54d93d626d03dd19a51b4bfaff3816d5f082cf745f7 |
Hashes for django_modshib_certic-0.2.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5834215e7c59e063e6fc89f684524be3541914a2cf21fbbf3ace2a1b26f1bc4 |
|
MD5 | 9f79fc67dd4c4e44e0c36095bc7a8fa7 |
|
BLAKE2b-256 | f329d108d90ef56d680361f596fde6c4f37b6a9160c7cfd5d50d6ea5c12f9643 |