Projet

Général

Profil

Development #7879

When an authnrequest is canceled, statusMessage should contain a message telling what happened.

Ajouté par Benjamin Dauvergne il y a plus de 8 ans. Mis à jour il y a plus de 4 ans.

Statut:
En cours
Priorité:
Normal
Assigné à:
-
Catégorie:
-
Version cible:
Début:
20 juillet 2015
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Fichiers


Demandes liées

Lié à django-mellon - Bug #7878: Erreur lors de l'annulation d'une tentative de SSOFermé20 juillet 2015

Actions
Lié à Publik - Project management #10245: Gérer les autorisations de se connecter à un service dans authenticFermé09 mars 2016

Actions

Historique

#1

Mis à jour par Benjamin Dauvergne il y a plus de 8 ans

  • Lié à Bug #7878: Erreur lors de l'annulation d'une tentative de SSO ajouté
#2

Mis à jour par Benjamin Dauvergne il y a plus de 8 ans

In response messages of the SAML protocol there is a part called the Status (an XML element), it contains an unique element the StatusCode which is usually success (see https://www.samltool.com/generic_sso_res.php for an exemple). When the statuscode is not success, it can be accompanied by another element named "StatusMessage" which is a freeform message intended to the user. Currently we do not set such a message when we return a not success error (for example if the user select "cancel" instead of login in).

Points where not succes is returned by authentic must be found (in authentic2/idp/saml2/saml2_endpoints.py) and a statusmessage should be set using a translatable string (lasso expect UTF-8 strings, so the string must be encoded before being set in login.response.status.statusMessage).

#3

Mis à jour par Josué Kouka il y a plus de 8 ans

statusMessage added when user refuses to consent or cancel the login process

#4

Mis à jour par Josué Kouka il y a plus de 8 ans

translation added

#5

Mis à jour par Benjamin Dauvergne il y a plus de 8 ans

I forgot that set_saml2_response_responder_status_code did already handle this, good catch.

This line is erroneous:

_('User canceled login process'.decode('utf-8'))

you must encode and not decode, and it must be done after getting the translated string, like this:

_('msg').encode('utf-8')

Also I would prefer only one patch for these changes (use git rebase), but with one more patch for the translations (do makemessages, then modify src/authentic2/saml/locale/fr/.../django.po to translate both strings).

#7

Mis à jour par Benjamin Dauvergne il y a plus de 8 ans

Ok, par contre on a pour habitude de séparer les patchs au code et aux fichiers des traductions, les patchs aux fichiers de traductions on les nomme générale "update french translation" ou "update translations".

#9

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

  • Patch proposed changé de Non à Oui
#10

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

De mon côté, je suggérerais que le .encode('utf-8') soit placé à l'intérieur de set_saml2_response_responder_status_code().

#11

Mis à jour par Benjamin Dauvergne il y a plus de 8 ans

Ok avec ça, il manque un test sur le consentement.

#12

Mis à jour par Benjamin Dauvergne il y a plus de 8 ans

  • Assigné à changé de Benjamin Dauvergne à Josué Kouka
#13

Mis à jour par Benjamin Dauvergne il y a environ 8 ans

#14

Mis à jour par Benjamin Dauvergne il y a plus de 6 ans

  • Patch proposed changé de Oui à Non

Il manque toujours un test sur le consentement (ouais c'est chiant d'avoir à faire des tests qui devraient être là :) ).

#15

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

  • Assigné à Josué Kouka supprimé

Formats disponibles : Atom PDF