Skip to main content

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)

Source distribution for django-modshib-CERTIC 0.5.6
File Size Uploaded
django_modshib_certic-0.5.6.tar.gz 134.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for django-modshib-CERTIC 0.5.6
File Interpreter ABI Platform
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}

Release history Release notifications | RSS feed

This release

0.5.6 This release

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.9

2 release files

0.4.8

1 release file

0.4.7

1 release file

0.4.6

1 release file

0.4.5

1 release file

0.4.4

1 release file

0.4.3

1 release file

0.4.2

1 release file

0.4.1

1 release file

0.4.0

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.3.0

1 release file

0.2.10

1 release file

0.2.9

1 release file

0.2.8

1 release file

0.2.7

2 release files

0.2.6

1 release file

0.2.5

1 release file

0.2.4

1 release file

0.2.3

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.9

1 release file

0.1.8

1 release file

0.1.7

1 release file

0.1.6

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

2 release files

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page