diff --git a/README.md b/README.md index 00c76a4..07c87bd 100644 --- a/README.md +++ b/README.md @@ -79,7 +79,11 @@ AUTHENS_USE_OLDCAS = False Il peut être utile de définir ce paramètre. -## Création d'utilisateurices +## Utilisation + +À lire + +### Création d'utilisateurices AuthENS maintient une tables des comptes clipper connus. Cette table est automatiquement mise à jour lors qu'une personne se connecte via @@ -111,7 +115,9 @@ def create_user_view(requests, cas_login: str): ``` -## Migration depuis `django_cas_ng` +## Utilisation avancée + +### Migration depuis `django_cas_ng` Pour migrer depuis `django_cas_ng`, il est recommandé de faire une [data migration](https://docs.djangoproject.com/en/3.1/howto/writing-migrations/#migrating-data-between-third-party-apps) @@ -138,3 +144,21 @@ def migrate_user(user: User): user=user, cas_login=user.username, entrance_year=entrance_year ) ``` + +### Utilisation des signaux + +Authens émet le signal `authens.signals.post_cas_connect` à chaque fois qu'un +compte CAS se connecte. Le signal est envoyé avec les arguments suivants : + +- `sender` : la classe Django utilisée pour stocker l'utilisateurice + (vraisemblablement la class `User` par défaut); + +- `instance` : l'utilisateurice concerné⋅e; + +- `created` : un booléen valant `True` si l'utilisateurice vient d'être créé⋅e + (première connexion); + +- `cas_login` : le login CAS de la personne; + +- `attributes` : un dictionnaire contenant des informations supplémentaires sur + le compte, fournies par le CAS. diff --git a/authens/signals.py b/authens/signals.py index 05e8ee7..7cd5d61 100644 --- a/authens/signals.py +++ b/authens/signals.py @@ -1,3 +1,5 @@ import django.dispatch +# Envoyé depuis authens.backends.ENSCASBackend +# Doc dans le README. post_cas_connect = django.dispatch.Signal()