Bug #47544
auth oidc, IntegrityError at /accounts/oidc/callback/
Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Catégorie:
-
Version cible:
-
Début:
11 octobre 2020
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Oui
Planning:
Non
Description
Sur un usager qui a déjà été lié à un idp oidc, sur une connexion qui arrive de cet idp, pour cet usager, avec un sub différent, on se trouve avec :
IntegrityError at /accounts/oidc/callback/ ERREUR: la valeur d'une clé dupliquée rompt la contrainte unique « authentic2_auth_oidc_oidcaccount_user_id_key » DETAIL: La clé « (user_id)=(19108) » existe déjà. ... File "/usr/lib/python3/dist-packages/authentic2/utils/__init__.py" in authenticate 1168. return dj_authenticate(request=request, **kwargs) File "/usr/lib/python3/dist-packages/django/contrib/auth/__init__.py" in authenticate 70. user = _authenticate_with_backend(backend, backend_path, request, credentials) File "/usr/lib/python3/dist-packages/django/contrib/auth/__init__.py" in _authenticate_with_backend 116. return backend.authenticate(*args, **credentials) File "/usr/lib/python3/dist-packages/authentic2_auth_oidc/backends.py" in authenticate 248. sub=id_token.sub) ...
Fichiers
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a plus de 3 ans
- Fichier 0001-auth-oidc-update-user-sub-when-linking-existing-user.patch 0001-auth-oidc-update-user-sub-when-linking-existing-user.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Benjamin Dauvergne il y a plus de 3 ans
- Statut changé de Solution proposée à Solution validée
En mettant sub
dans l'argument defaults
de get_or_create() tu dois pouvoir déplacer le deuxième save dans le if
.
PS: je suppose que la liaison s'est faite sur le mail si ce n'est pas sur le sub.
Mis à jour par Frédéric Péters il y a plus de 3 ans
- Statut changé de Solution validée à Résolu (à déployer)
Poussé après cette modification. (+ un commit Jenkinsfile parce que la création du répertoire du job wip ne fonctionnait pas)
commit 89be5e16f89ed8eb120975377144677d529b86e2 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Sun Oct 11 17:08:36 2020 +0200 auth oidc: update user sub when linking existing user during SSO (#47544)
Mis à jour par Frédéric Péters il y a plus de 3 ans
- Statut changé de Résolu (à déployer) à Solution déployée
auth oidc: update user sub when linking existing user during SSO (#47544)