Development #22209
OIDC: ajouter un hook en fin de backend d'authentification OIDC
Début:
01 mars 2018
Echéance:
% réalisé:
100%
Temps estimé:
Patch proposed:
Oui
Planning:
Description
Le hook s'appellera a2_hook_auth_oidc_backend_modify_user, il prend comme paramètres:
- user
- user_info
- id_token (voir authentic2_auth_oidc.utils.IDToken pour l'API de cet objet)
- access_token
- provider (object OIDCProvider)
Si il renvoie True l'objet utilisateur est sauvegardé.
Fichiers
Révisions associées
auth_oidc: add hook to modify user before login (fixes #22209)
Hook is named a2_hook_auth_oidc_backend_modify_user, it takes
parameters:
- user
- access_token
- user_info
- id_token
- provider
Historique
Mis à jour par Benjamin Dauvergne il y a environ 6 ans
- Fichier 0001-auth_oidc-fix-missing-definition-for-base64url_encod.patch 0001-auth_oidc-fix-missing-definition-for-base64url_encod.patch ajouté
- Fichier 0002-auth_oidc-add-hook-to-modify-user-before-login-fixes.patch 0002-auth_oidc-add-hook-to-modify-user-before-login-fixes.patch ajouté
On utilise ça comme ceci
class AppConfig: .... def a2_hook_auth_oidc_backend_modify_user(self, user, user_info, **kwargs): ou_map = {ou.slug: ou for ou in get_ou_model().cached()} user_ou = ou_map.get(settings.GNM_MAPPING.get(user_info.get('ou_slug'))) or get_default_ou() if user.ou != user_ou: user.ou = user_ou return True else: return False
Mis à jour par Benjamin Dauvergne il y a environ 6 ans
Au passage j'ai corrigé un bug qui m'est apparu dans authentic2_auth_oidc.models (je ne vois pas comment on passe à travers actuellement).
Mis à jour par Frédéric Péters il y a environ 6 ans
- Statut changé de Nouveau à En cours
- Patch proposed changé de Non à Oui
Ça roule, ack pour le match, je vais préparer le nécessaire côté guichet.
Mis à jour par Benjamin Dauvergne il y a environ 6 ans
- Statut changé de En cours à Résolu (à déployer)
- % réalisé changé de 0 à 100
Appliqué par commit authentic2|b7274d2ddc001d7be2da247ea228cee6226cc76d.
Mis à jour par Benjamin Dauvergne il y a plus de 5 ans
- Statut changé de Résolu (à déployer) à Fermé
auth_oidc: fix missing definition for base64url_encode (#22209)