Bug #14810
comportement sur un artifactresponse vide
100%
Description
Sur un problème de signature de clé, on se trouve avec authentic qui va genre répondre <samlp:ArtifactResponse><samlp:Status><samlp:StatusCode Value="...Success"/></samlp:Status></samlp:ArtifactResponse>, sans <samlp:Response>.
If the issuer of an artifact receives a <samlp: ArtifactResolve> message that it can understand, it MUST return a <samlp: ArtifactResponse> with a <samlp:StatusCode> value of urn:oasis:names:tc:SAML:2.0:status: Success , even if it does not return the corresponding messa ge (for example because the artifact requester is not authorized to receive the me ssage or the artifact is no longer valid).
Ça me semble donc ok côté spec, mais django-mellon a comme comportement d'alors retenter le login, ce qui va rééchouer de pareille manière, et donc série sans fin de redirections.
Fichiers
Demandes liées
Révisions associées
prevent redirection loop on artifact resolution errors (fixes #14810)
Signature of method sso_failure() is changed to match the name name of
the context variable in template mellon/authentication_failed.html
(idp_message => reason).
Historique
Mis à jour par Benjamin Dauvergne il y a plus de 6 ans
Je pense que sur une erreur de signature l'IdP devrait retourner une erreur qui indique le problème, néanmoins ton analyse est bonne on ne devrait pas boucler sans raison, en tout cas pas plus d'une fois.
Mis à jour par Benjamin Dauvergne il y a plus de 6 ans
- Fichier 0001-prevent-redirection-loop-on-artifact-resolution-erro.patch 0001-prevent-redirection-loop-on-artifact-resolution-erro.patch ajouté
- Patch proposed changé de Non à Oui
Mis à jour par Benjamin Dauvergne il y a environ 6 ans
- Fichier 0001-prevent-redirection-loop-on-artifact-resolution-erro.patch 0001-prevent-redirection-loop-on-artifact-resolution-erro.patch ajouté
Patch rebasé.
Mis à jour par Benjamin Dauvergne il y a environ 6 ans
- Assigné à mis à Benjamin Dauvergne
- Version cible mis à 1.2.34
Mis à jour par Paul Marillonnet il y a environ 6 ans
Je ne comprends pas en quoi tu as besoin de modifier la signature de la méthode sso_failure
(d'ailleurs il reste un paramètre login
qui traîne lorsqu'on l'appelle à la dernière ligne de LoginView.continue_sso_artifact
).
Mis à jour par Benjamin Dauvergne il y a environ 6 ans
- Patch proposed changé de Oui à Non
Paul Marillonnet a écrit :
Je ne comprends pas en quoi tu as besoin de modifier la signature de la méthode
sso_failure
(d'ailleurs il reste un paramètrelogin
qui traîne lorsqu'on l'appelle à la dernière ligne deLoginView.continue_sso_artifact
).
- au lieu de threader (ça veut dire passer un argument d'appels en appels) j'utilise le fait qu'il est déjà stocké dans
self.profile
c'est plus lisible - je renomme
idp_message
parreason
parce que la raison ne vient pas toujours de l'IdP et donc c'est plus clair ainsi - je donne une valeur par défaut à
status_codes
parce que j'imagine que je n'en aurai pas toujours (par contre () au lieu de None je ne sais pas trop)
Effectivement il y a un login qui traîne je vais voir si les tests le chope et sinon voir pourquoi. Merci.
Mis à jour par Benjamin Dauvergne il y a environ 5 ans
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Benjamin Dauvergne il y a environ 5 ans
- Fichier 0001-use-Jenkinsfile-14810.patch 0001-use-Jenkinsfile-14810.patch ajouté
- Fichier 0002-prevent-redirection-loop-on-artifact-resolution-erro.patch 0002-prevent-redirection-loop-on-artifact-resolution-erro.patch ajouté
Rebasé, ajouté un Jenkinsfile.
Mis à jour par Serghei Mihai il y a environ 5 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Benjamin Dauvergne il y a environ 5 ans
- Statut changé de Solution validée à Résolu (à déployer)
- % réalisé changé de 0 à 100
Appliqué par commit django-mellon|f2e05b84aeb20a1790b1fd1e0754f4d79da36108.
Mis à jour par Frédéric Péters il y a environ 5 ans
- Statut changé de Résolu (à déployer) à Solution déployée
Mis à jour par Frédéric Péters il y a environ 5 ans
- Lié à Development #31690: crash sur annulation sso ajouté
use Jenkinsfile (#14810)
- Copied from authentic2-auth-kerberos
- Removal of .coveragerc as it prevented coverage from working, dunno
why.