Development #73553
Pas de message d'erreur lors d'une connexion OIDC avec un attribut obligatoire manquant
Statut:
Nouveau
Priorité:
Normal
Assigné à:
-
Catégorie:
-
Version cible:
-
Début:
18 janvier 2023
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Non
Planning:
Non
Description
Cf https://dev.entrouvert.org/issues/72534#note-16, quand on se connecte via OIDC mais qu'un des attributs obligatoires n'est pas fourni par le fournisseur d'identité (par exemple parce qu'il n'est pas défini sur le profil en question), la connexion plante côté authentic sans aucun message d'erreur. Logs côté serveur d'exemple ci-dessous avec Toulon :
Jan 18 14:16:02 authentic uwsgi[1415858]: authentic2-multitenant WARNING connexion-univ-toulon.test.entrouvert.org 176.31.123.109 - r:7F588A3C1730 auth_oidc: cannot create user missing required claim 'utlnPopulation' in user_info ({'sub': 'redacted', 'service': 'https://connexion-univ-toulon.test.entrouvert.org/accounts/oidc/callback/', 'auth_time': 1674047723, 'attributes': {'cn': 'redacted Testeee', 'displayName': 'redacted Testeee', 'givenName': 'Testeee', 'isMemberOf': ['univ:app:diraj:dirajusers', 'univ:instit:orga:srv_dirct:dsiun:dsiun', 'univ:instit:orga:srv_dirct:direp:direp', 'univ:instit:orga:srv_dirct:dsiun:pamd', 'univ:app:NAS:DSIUN:dsiun', 'univ:app:NAS:DSIUN:dsiun_ecriture', 'univ:app:ssh:ssh_users', 'univ:app:irepro:direp_irepro', 'univ:app:irepro:dsiun_irepro', 'univ:app:iparapheur:iparaphusers', 'univ:instit:pers', 'univ:app:NAS:DSIUN:Pole AMD_ecriture', 'univ:app:sid:Formation:all_sidfo', 'univ:app:sid:all', 'univ:app:sid:Finance:sea_sidfi', 'univ:app:sid:Finance:allgroupes_sidfi', 'univ:app:sid:RH:allgroupes_sidrh', 'univ:app:sid:RH:cosmer_sidrh', 'univ:app:ged:personnels', 'univ:app:NAS:DSIUN:espace_partage_SSI_ecriture', 'univ:app:NAS:DSIUN:espace_partage_SSI_lecture', 'univ:app:vpn:vpn', 'univ:app:vpn:Acces VPN - dsiun'], 'mail': 'redacted@univ-tln.fr', 'sn': 'redacted', 'supannNomDeNaissance': 'redacted', 'utlnPopulation': 'PERSONNELS'}, 'id': 'redacted', 'client_id': 'UtlnPublik'}) <pre> Il serait probablement bien d'afficher un message même basique pour dire qu'il y a eu une erreur et éventullement inviter l'utilisateur à contacter son fournisseur d'identité.