Development #38248
présenter les IDPs SAML séparemment sur la page de login
0%
Description
Comme cela a été fait pour les providers OIDC.
Fichiers
Révisions associées
Historique
Mis à jour par Serghei Mihai il y a plus de 4 ans
- Fichier 0001-auth_saml-separate-idps-blocks-on-login-page-38248.patch 0001-auth_saml-separate-idps-blocks-on-login-page-38248.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
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.
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 attributname
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é.
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.
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).
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)
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
auth_saml: separate idps blocks on login page (#38248)