Projet

Général

Profil

Development #8123

avoir un middleware qui detecterait si l'utilisateur est loggué

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

Statut:
Fermé
Priorité:
Haut
Assigné à:
Version cible:
-
Début:
27 août 2015
Echéance:
% réalisé:

100%

Temps estimé:
Patch proposed:
Non
Planning:

Description

A discuter:
L'idée est que les sp (combo, wcs, fargo,...) puissent detecter si l'utilisateur est loggué dans authentic(via un cookie posé à la racine du domaine, par exemple) et, si pas loggué sur le SP, lancer le sso.


Fichiers


Demandes liées

Lié à Hobo - Development #8377: ajouter PassiveAuthenticationMiddleware à debian_config_common.pyFermé25 septembre 2015

Actions

Révisions associées

Révision 9667aa5f (diff)
Ajouté par Benjamin Dauvergne il y a plus de 8 ans

add PassiveAuthenticationMiddleware using a common domain cookie (fixes #8123)

Name of the cookie must be put in MELLON_OPENED_SESSION_COOKIE_NAME and
common domain can be defined in MELLON_OPENED_SESSION_COOKIE_DOMAIN, if
unset the common domain is guessed by removing the first part of the
domain name (www.xxx.com -> xxx.com).

Révision ad2a575a (diff)
Ajouté par Benjamin Dauvergne il y a plus de 8 ans

middleware: disallow passive authentication when no IdP is found (fixes #8123)

Historique

#1

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

Suggestion en utilisant une iframe et un SSO passif, à tester.

commit 0e57f9931243565d4bd15333e9f8d340698fc629
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Thu Aug 27 14:37:44 2015 +0200

    views: add an iframe mode to the login view

    Use it by putting a tag:

      <iframe height="0" width="0" src="{% url "mellon_login" %}?{{ request.GET.urlencode }}&passive&iframe"></iframe>

    in your page. It will do a passive authentication inside the iframe and
    will use JS to reload the top frame if authentication is successfull.

#2

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

  • Statut changé de Nouveau à En cours
  • Assigné à mis à Benjamin Dauvergne
#3

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

J'imaginais un truc plus linéaire et indépendant de javascript (sans risque d'avoir la page disparaitre sous l'œil de l'usager); si un cookie de session de domaine principal existe (et qu'on n'a pas déjà essayé le SSO), lancement du SSO passif, point.

#4

Mis à jour par Victor Claudet il y a plus de 8 ans

  • Priorité changé de Normal à Haut
#5

Mis à jour par Victor Claudet il y a plus de 8 ans

Concretement actuellement on a des comportement impossible a comprendre de la part des utilisateurs qui se loggent puis sont parfois loggés, parfois pas loggés... Meaux est en prod, Fontenay, très bientôt et c'est pas une situation qui peut rester en l'état. Donc haut parce que urgent.

#7

Mis à jour par Thomas Noël il y a plus de 8 ans

OPENED_SESSION_COOKIE → OPENED_SESSION_COOKIE_NAME dans le app_settings.py

Mais plutôt que virer le cookie général (qui pourrait être utile à d'autres SP), pourquoi ne pas ajouter un cookie lié au SP, qui dirait "login automatique déjà testé" (sous entendu "ça a foiré, on retente pas") ?

#8

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

Quelle durée pour ce énième cookie ? Parce qu'il faut bien retenter un jour... Le plus simple c'est d'effacer le cookie, il sera remis par l'IdP, l'IdP le pose sur chaque requête. Mais faisons, et disons cookie à durée d'une session navigo, si on se déconnecte et qu'on revient, ça marche plus. Bon faut virer le cookie quand on se déconnecte aussi... C'est sans fin ces trucs...

#9

Mis à jour par Thomas Noël il y a plus de 8 ans

Benjamin Dauvergne a écrit :

Quelle durée pour ce énième cookie ? Parce qu'il faut bien retenter un jour...

Une minute ?

#10

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

On va déjà voir ce que ça fait avec la durée session.

#11

Mis à jour par Thomas Noël il y a plus de 8 ans

Pour moi c'est un "ack" mais je veux bien une relecture par Fred, qu'il dise si c'est bien l'idée qu'il avait en tête de son côté.

#12

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

ok; je préfère ne pas avoir des intitulés trop long ("add middleware to do passive sso if a common domain cookie exists (#8123)" tient).

Il faudrait aussi ajouter le middleware dans la config debian commune, non ?

#13

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

  • Lié à Development #8377: ajouter PassiveAuthenticationMiddleware à debian_config_common.py ajouté
#14

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

  • Statut changé de En cours à Résolu (à déployer)
  • % réalisé changé de 0 à 100
#15

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

J'y pense un peu tard, l'envoi vers mellon_login, il devrait être fait uniquement si "not any(get_idps())", non ?

#17

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

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF