Development #73553
Pas de message d'erreur lors d'une connexion OIDC avec un attribut obligatoire manquant
Status:
Nouveau
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
18 January 2023
Due date:
% Done:
0%
Estimated time:
Patch proposed:
No
Planning:
No
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é.