Project

General

Profile

Development #65483

configuration des méthodes d'authentification, SAML

Added by Frédéric Péters (de retour le 10/10) 5 months ago. Updated 3 months ago.

Status:
Fermé
Priority:
Normal
Category:
-
Target version:
-
Start date:
19 May 2022
Due date:
% Done:

0%

Estimated time:
Patch proposed:
Yes
Planning:
No

Description

Éventuellement doublon de #51362 (pour passer par des modèles pour la configuration d'un IdP SAML), si on veut y intégrer également la partie UI.

Ou pas doublon si on veut faire la partie UI à part, ici.


Files


Related issues

Related to Authentic 2 - Development #51362: permettre de définir la connexion à un idp saml externe via des modèlesFermé23 February 2021

Actions
Related to Authentic 2 - Development #51363: ajouter à la configuration d'un idp saml externe de quoi préciser le contenu du bloc de connexionSolution déployée23 February 2021

Actions
Related to Authentic 2 - Development #66853: virer authentic2.authenticatorsSolution déployée01 July 2022

Actions
Related to Authentic 2 - Development #66856: virer le settings AUTH_FRONTENDFermé01 July 2022

Actions
Related to Plugin Carte eID (fedict/bosa) - Development #66876: migrer FedictAuthenticator et sa config en baseSolution déployée01 July 2022

Actions
Related to Authentic 2 - Development #66964: auth_saml : KeyError: 'ENTITY_ID'Fermé04 July 2022

Actions
Related to Authentic 2 - Development #66986: authentificateur saml : ou exclusif sur les trois façons de fournir les métadonnées de l’IdPEn cours05 July 2022

Actions
Related to Authentic 2 - Development #66987: authentificateur_saml : ouvrir l’édition du champ superuser_mapping aux usagers eux-mêmes superutilisateursRejeté05 July 2022

Actions

Associated revisions

Revision 2dc43d68 (diff)
Added by Valentin Deniaud 3 months ago

authenticators: use slug rather than pk in identifier (#65483)

Revision 0aa155bf (diff)
Added by Valentin Deniaud 3 months ago

auth_saml: move view code to separate file (#65483)

Revision b6d24eba (diff)
Added by Valentin Deniaud 3 months ago

auth_saml: migrate authenticator to database (#65483)

Revision d5698808 (diff)
Added by Valentin Deniaud 3 months ago

auth_saml: add configuration form (#65483)

History

#1

Updated by Frédéric Péters (de retour le 10/10) 5 months ago

  • Related to Development #51362: permettre de définir la connexion à un idp saml externe via des modèles added
#2

Updated by Frédéric Péters (de retour le 10/10) 5 months ago

  • Related to Development #51363: ajouter à la configuration d'un idp saml externe de quoi préciser le contenu du bloc de connexion added
#3

Updated by Valentin Deniaud 4 months ago

  • Assignee set to Valentin Deniaud
#4

Updated by Valentin Deniaud 3 months ago

Patch dans la continuité des autres.

Seul problème ça casse test_exponential_backoff, sur jenkins et pas en local, et je ne sais pas trop quelle modif à ce test serait acceptable.

#5

Updated by Valentin Deniaud 3 months ago

Valentin Deniaud a écrit :

Seul problème ça casse test_exponential_backoff

C'est géré à part dans #66612, plus de problème ici.

#6

Updated by Paul Marillonnet 3 months ago

#7

Updated by Paul Marillonnet 3 months ago

#8

Updated by Paul Marillonnet 3 months ago

Une première relecture :

  • 0001 - 0002 : Est-ce qu’on sait s’il y a des implications dans les thèmes de ce changement pour get_identifier ?
    J’ai l’impression que non, mais je vois que ça va changer le submit_name dans le gabarit de rendu final, et à voir passer des choses comme #65864 je me dis qu’il y a peut-être des bouts de thème où c’est déjà utilisé ? (Serghei pourra clarifier si c’est déjà le cas, je pense, auquel cas il faudrait je pense profiter du cycle de trois semaines et passer les modifications de thème en même temps)
  • 0003 :
    • Pas à modifier ici mais je serais pour dans un second temps (un autre ticket) virer complètement le setting AUTH_FRONTEND qui ne me semble plus adapté maintenant qu’on a les moyens d’authn en base. J’ai créé #66856.
    • Il me semble que la définition des mappings propres à mellon (ton champ attribute_mapping dans le modèle nouvellement créé), n’est pas du tout utilisée lorsque c’est authentic le fournisseur de service. De façon un peu empirique j’ai fait un tour des settings.json sur notre SaaS de recette et de prod, SaaS “normal” et SaaS HDS, et je ne vois nulle part cet usage de la config de mapping propre à mellon.
  • 0004 : je serais pour virer complètement superuser_mapping du formulaire (pas fan qu’un admin a2 non superuser puisse configurer ce moyen d’authn de façon à accorder ce statut à d’autres, dont potentiellement lui-même, etc.)
  • Je remarque que c’était le dernier moyen d’authentification à se reposer sur authentic2.authenticators. On aurait pu passer la suppression de ce bout de code dans un 0005 de ce ticket, mais c’est vrai que les patches sont déjà costauds. J’ai créé #66853.

Je vais tester le bon déroulement de la migration, en devinst local en pompant un ou deux settings.json différents ici et là sur la recette. Je vois aussi qu’il reste un ticket qui traîne en solution proposée sur la suppression de settings orphelins pour la partie authentification par mot de passe, c’est passé au travers de mes radars, mes excuses, je vais aller relire ça de ce pas.

#9

Updated by Paul Marillonnet 3 months ago

#10

Updated by Valentin Deniaud 3 months ago

Paul Marillonnet a écrit :

  • 0001 - 0002 : Est-ce qu’on sait s’il y a des implications dans les thèmes de ce changement pour get_identifier ?

get_identifier aurait dû être écrit comme cela dès le départ, mais ça n'avait pas de conséquence jusqu'à présent. C'est justement parce que certaines intés graphiques utilisent cet identifiant pour SAML qu'il est nécessaire de corriger, c'est à valider en même temps que #66057.

  • 0003 :
    • Il me semble que la définition des mappings propres à mellon (ton champ attribute_mapping dans le modèle nouvellement créé), n’est pas du tout utilisée lorsque c’est authentic le fournisseur de service.

Au moins connexion-parisnanterre.test.entrouvert.org/settings.json il est présent. Comme il m'a semblé très peu utilisé et redondant avec a2_attribute_mapping je l'ai marqué comme déprécié (de toute façon ces JSONField seront virés dans de futurs tickets).

  • 0004 : je serais pour virer complètement superuser_mapping du formulaire (pas fan qu’un admin a2 non superuser puisse configurer ce moyen d’authn de façon à accorder ce statut à d’autres, dont potentiellement lui-même, etc.)

Yes, passé à editable=False pour faire simple, c'est dans la branche.

#11

Updated by Paul Marillonnet 3 months ago

  • Status changed from Solution proposée to Solution validée

Valentin Deniaud a écrit :

get_identifier aurait dû être écrit comme cela dès le départ, mais ça n'avait pas de conséquence jusqu'à présent. C'est justement parce que certaines intés graphiques utilisent cet identifiant pour SAML qu'il est nécessaire de corriger, c'est à valider en même temps que #66057.

Ok, je regarde.

Au moins connexion-parisnanterre.test.entrouvert.org/settings.json il est présent. Comme il m'a semblé très peu utilisé et redondant avec a2_attribute_mapping je l'ai marqué comme déprécié (de toute façon ces JSONField seront virés dans de futurs tickets).

En effet, j’avais loupé ce tenant, merci.

Yes, passé à editable=False pour faire simple, c'est dans la branche.

Top.

On pourra améliorer quelques détails par la suite dans d’autres tickets (genre ouvrir cette édition du superuser_mapping aux usagers qui sont eux-mêmes superutilisateurs, ou bien encore faire en sorte que les trois manières différentes de fournir les métadonnées mellon soient mutuellement exclusives entre elles – je ne sais pas quel est le comportement de mellon actuellement lorsqu’elles sont fournies plusieurs fois), mais pour ce ticket il faut que ça tourne en recettes (ou d’abord en dev ?) dès à présent. Ack.

#12

Updated by Valentin Deniaud 3 months ago

  • Status changed from Solution validée to Résolu (à déployer)
commit d5698808aee47859bae2f54b5d5c4f15bc78f2ef
Author: Valentin Deniaud <vdeniaud@entrouvert.com>
Date:   Thu Jun 9 16:37:51 2022 +0200

    auth_saml: add configuration form (#65483)

commit b6d24eba3b26f8420c0467cb55fb906c4dd0e8b3
Author: Valentin Deniaud <vdeniaud@entrouvert.com>
Date:   Thu Jun 9 10:45:08 2022 +0200

    auth_saml: migrate authenticator to database (#65483)

commit 0aa155bfc3aeded7ebb1192c0ee5f432f98f76a6
Author: Valentin Deniaud <vdeniaud@entrouvert.com>
Date:   Wed Jun 8 12:00:34 2022 +0200

    auth_saml: move view code to separate file (#65483)

commit 2dc43d68b42036bfcf0ae2541fdb5122bbe24960
Author: Valentin Deniaud <vdeniaud@entrouvert.com>
Date:   Wed Jun 8 14:54:28 2022 +0200

    authenticators: use slug rather than pk in identifier (#65483)
#13

Updated by Paul Marillonnet 3 months ago

#14

Updated by Transition automatique 3 months ago

  • Status changed from Résolu (à déployer) to Solution déployée
#15

Updated by Paul Marillonnet 3 months ago

  • Related to Development #66986: authentificateur saml : ou exclusif sur les trois façons de fournir les métadonnées de l’IdP added
#16

Updated by Paul Marillonnet 3 months ago

  • Related to Development #66987: authentificateur_saml : ouvrir l’édition du champ superuser_mapping aux usagers eux-mêmes superutilisateurs added
#17

Updated by Transition automatique about 1 month ago

Automatic expiration

Also available in: Atom PDF