Projet

Général

Profil

Development #38248

présenter les IDPs SAML séparemment sur la page de login

Ajouté par Serghei Mihai il y a plus de 4 ans. Mis à jour il y a plus de 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
06 décembre 2019
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Comme cela a été fait pour les providers OIDC.


Fichiers

Révisions associées

Révision a2c3bc9c (diff)
Ajouté par Serghei Mihai il y a plus de 4 ans

auth_saml: separate idps blocks on login page (#38248)

Historique

#1

Mis à jour par Serghei Mihai il y a plus de 4 ans

#2

Mis à jour par Paul Marillonnet il y a plus de 4 ans

Je crois que des modifications dans le gabarit Django de login SAML sont nécessaires.
On manipule un identifiant d'authentificateur et un identifiant de fournisseur d'identités, les deux se retrouvent dans la attribut name du bouton de connexion. À mon avis ce mélange entre nom et identifiant n'est pas souhaitable. Dans #31259 on restait sur des id tout le long, y compris jusqu'au gabarit.

D'ailleurs, as-tu stp une capture d'image d'une page connexion lorsque deux fournisseurs SAML sont activés (dans cette branche) ?
En mode paresseux, en tapant un pdb dans ton test, je me retrouve avec ça et on dirait que ça ne convient pas.

Autant dans #31259 on affichait deux liens portant chacun le nom d'un fournisseur OIDC distinct, autant ici je crois que cette partie du gabarit ne va pas :

<button class="submit-button" name="{{ submit_name }}">{% trans "Login" %}</button>

Les deux liens internes tout deux nommés "SAML" dans la page html que je pointe portent eux aussi à confusion.

Dernière chose, avec le commit de séparation des fournisseurs OIDC dans des blocs séparés (216323c7ad560b8417535dcc5fdca694b3713d7e) on se retrouvait à pouvoir filtrer les fournisseurs non affichés (OIDCProvider.show == False). Je n'ai pas encore eu le temps de regarder si un équivalent existe dans notre modèle de fournisseur SAML, mais si c'est le cas ça serait sans doute quelque chose de nécessaire.

#3

Mis à jour par Serghei Mihai il y a plus de 4 ans

Paul Marillonnet a écrit :

Je crois que des modifications dans le gabarit Django de login SAML sont nécessaires.
On manipule un identifiant d'authentificateur et un identifiant de fournisseur d'identités, les deux se retrouvent dans la attribut name du bouton de connexion. À mon avis ce mélange entre nom et identifiant n'est pas souhaitable. Dans #31259 on restait sur des id tout le long, y compris jusqu'au gabarit.

Pour les idp OIDC les id contient le slug de l'instance et l'identifiant du module d'authentification.

Les ipd SAML n'ont pas de slug car c'est une liste de dicos déclarée dans le settings, d'ou l'usage des index.

D'ailleurs, as-tu stp une capture d'image d'une page connexion lorsque deux fournisseurs SAML sont activés (dans cette branche) ?
En mode paresseux, en tapant un pdb dans ton test, je me retrouve avec ça et on dirait que ça ne convient pas.

Si tu testes sans mon patch, tu verras que le rendu est le même: un bouton "Login" et eventuellement "Cancel" sans rien autour. Pour la mise en forme aujourd'hui on surcharge le template dans le thème et on y met du texte autour.

Autant dans #31259 on affichait deux liens portant chacun le nom d'un fournisseur OIDC distinct, autant ici je crois que cette partie du gabarit ne va pas :
[...]

On pourrait imaginer que dans la déclaration des idps on ajoute une clé genre "LABEL" qui serait ajoutée au texte Login.

Les deux liens internes tout deux nommés "SAML" dans la page html que je pointe portent eux aussi à confusion.

Pareil, peut-être y rajouter un libellé, genre "SAML on <LABEL>".

Dernière chose, avec le commit de séparation des fournisseurs OIDC dans des blocs séparés (216323c7ad560b8417535dcc5fdca694b3713d7e) on se retrouvait à pouvoir filtrer les fournisseurs non affichés (OIDCProvider.show == False). Je n'ai pas encore eu le temps de regarder si un équivalent existe dans notre modèle de fournisseur SAML, mais si c'est le cas ça serait sans doute quelque chose de nécessaire.

Cela n'existe pas pour SAML, la liste des fournisseurs d'identité est retournée par mellon, qui n'a pas de notion d'IDP caché.

#4

Mis à jour par Paul Marillonnet il y a plus de 4 ans

  • Statut changé de Solution proposée à Solution validée
  • Assigné à mis à Serghei Mihai

Ok, très bien et ce n'est donc pas l'objet de ce ticket. On fera ça dans de prochains tickets.

#5

Mis à jour par Serghei Mihai il y a plus de 4 ans

J'ai fait ce ticket pour appliquer le même principe aux idp SAML que pour les OIDC, mais en réalité il y a peu de chances qu'on ait plusieurs idp SAML déclarés (et on n'en a pas pour l'instant).

#6

Mis à jour par Serghei Mihai il y a plus de 4 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit a2c3bc9cce7c39d0396ffd369630bc5a8006bdb8 (HEAD -> master, origin/master, origin/HEAD)
Author: Serghei Mihai <smihai@entrouvert.com>
Date:   Fri Dec 6 14:08:50 2019 +0100

    auth_saml: separate idps blocks on login page (#38248)
#7

Mis à jour par Frédéric Péters il y a plus de 4 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF