Projet

Général

Profil

Bug #71041

Refuser la génération d'un jeton de SLO si l'IdP ne le gère pas

Ajouté par Benjamin Dauvergne il y a plus d'un an. Mis à jour il y a plus d'un an.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
07 novembre 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Cf. #71035 : un SLO est démarré sur authentic, l'URL avec jeton est générée mais arrivé sur la vue de déconnexion de django-mellon une trace est générée avec l'erreur Lasso (logique) ProfileUnsupportedProfileError.


Fichiers

Révisions associées

Révision 750f869e (diff)
Ajouté par Benjamin Dauvergne il y a plus d'un an

misc: do not send logout requests if SingleLogout profile is not supported (#71041)

Historique

#2

Mis à jour par Benjamin Dauvergne il y a plus d'un an

  • Description mis à jour (diff)
#3

Mis à jour par Benjamin Dauvergne il y a plus d'un an

  • Assigné à mis à Benjamin Dauvergne
#4

Mis à jour par Benjamin Dauvergne il y a plus d'un an

#5

Mis à jour par Paul Marillonnet il y a plus d'un an

· Dans les modifications apportées à create_server, peut-être logguer le cas où pour tous les idp connus on est entré dans le cas

        for idp in get_idps():
            if remote_provider_id and idp.get('ENTITY_ID') != remote_provider_id:
                continue
qui indiquerait que clairement il y a des lacunes dans la définitions des IdP ?

· Tu ajoutes un argument remote_provider_id aussi à la fonction create_logout mais pas utilisé nulle part. Par exemple tu modifies mellon.views.LogoutView.sp_logout_request dans laquelle on connaît l’idp et on fait appel à ce create_logout, mais tu laisses inchangée la ligne
self.profile = logout = utils.create_logout(request) Pourquoi ne pas utiliser ce kwargument remote_provider_id=issuer ici aussi ?

· Enfin je lis

def is_slo_supported(request, issuer):
    # […]
    return (
        server.getFirstHttpMethod(server.providers[issuer], lasso.MD_PROTOCOL_TYPE_SINGLE_SIGN_ON)
        != lasso.HTTP_METHOD_NONE
    )
mais ici on cherche plutôt un appel à getFirstHttpMethod avec protocol_type=lasso.MD_PROTOCOL_TYPE_SINGLE_LOGOUT (pas SINGLE_SIGN_ON), non ?

#6

Mis à jour par Benjamin Dauvergne il y a plus d'un an

  • log ajouté
  • j'ai retiré l'argument remote_provider_id à create_logout, ce n'est pas vraiment très utile pour l'instant
  • is_slo_supported corrigé
#7

Mis à jour par Paul Marillonnet il y a plus d'un an

  • Statut changé de Solution proposée à Solution validée

Ok pour moi.

#8

Mis à jour par Benjamin Dauvergne il y a plus d'un an

  • Tracker changé de Development à Bug
#9

Mis à jour par Benjamin Dauvergne il y a plus d'un an

  • Statut changé de Solution validée à Résolu (à déployer)
commit 750f869e5f996fb67fa8571f0b5c9a74924260aa
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Mon Nov 7 15:53:34 2022 +0100

    misc: do not send logout requests if SingleLogout profile is not supported (#71041)
#10

Mis à jour par Transition automatique il y a plus d'un an

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

Mis à jour par Transition automatique il y a plus d'un an

Automatic expiration

Formats disponibles : Atom PDF