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 uv:
uv 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
MODSHIB_CHECK_CGU
Valeur par défaut: False
Route django vers les CGU du site, active la demande d'acceptation si renseignée
APP_URL_BASE_PATH
Valeur par défaut: /
Préfixe utilisé pour déployer l'application
Utilisation
Une fois installé, modshib fournit des templates par défaut qui sont appelés selon le contexte (login, logout, échec de connexion sso, etc.).
Si vous voulez intégrer ou surcharger ces templates, vous devrez créer un répertoire templates/registration et les fichiers que vous souhaitez remplacer.
Exemple d'intégration du bloc de connexion pour la page de login (fichier templates/registration/login.html)`:
{% extends "base.html" %} {% block content %}
<div class="d-flex justify-content-center align-items-center p-5">
{% include "registration/_block_connection.html" %}
</div>
{% endblock content %}
Metadata
Release files for django-modshib-CERTIC 0.5.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django_modshib_certic-0.5.6.tar.gz | 134.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| django_modshib_certic-0.5.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 277.3 kB
Release files / django_modshib_certic-0.5.6.tar.gz
| Download URL | django_modshib_certic-0.5.6.tar.gz |
|---|---|
| Size | 134.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cfa86b23e36243012d8dc66cbbbfae75a0e80a23dc270a2a2404489046afd9c6
|
|
BLAKE2b-256 checksum How to use checksums |
9488995d84c12276a55d129ad887591cf20dec55d4232e967eb90168c7982454
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / django_modshib_certic-0.5.6-py3-none-any.whl
| Download URL | django_modshib_certic-0.5.6-py3-none-any.whl |
|---|---|
| Size | 143.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bcb6984ea7f87f09c3947522816f39103e2fc086f1b16c231414982036d63c1a
|
|
BLAKE2b-256 checksum How to use checksums |
31d8814810ee6525ef05332ff1203fc25c832c784adea30672a858b0ae846927
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|