Skip to main content

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_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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_modshib_certic-0.2.6.tar.gz (103.3 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page