Projet

Général

Profil

Télécharger (2,07 ko) Statistiques
| Branche: | Révision:

root / larpe / trunk / notes @ ebf37dd5

1
Arborescence de /var/lib/larpe
2
------------------------------
3

    
4
/var/lib/larpe/sp/nom_serveur_proxy/repertoire_du_proxy/metadata.xml
5
                                                        private_key.pem
6
                                                        idp (contient le nom du serveur idp)
7
               idp/nom_serveur/metadata.xml
8
                               public_key.pem
9

    
10
Scénario de SSO + fédération
11
-----------------------------
12

    
13
- L'utilisateur veut accéder à l'espace privé
14
- On intercepte l'adresse d'authentification et on redirige vers la page de login liberty
15
- L'utilisateur tape son identifiant/mdp de l'idp
16
- On récupère la page d'authentification locale et on la présente a l'utilisateur pour fédération
17
- Il tape son identifiant/mdp locaux
18
- On enregistre temporairement l'identifiant
19
- On regarde si l'authentification a réussi (cookie ? url ou le site renvoie ?)
20
- Si oui, on fédère les comptes
21

    
22
Variante :
23

    
24
- Interception de l'url d'authentification du site
25
- Redirection vers l'url /login sur le relais inverse
26
- Sur l'url /login
27
  - Si deja authentifié (on a un cookie de session) : c'est bon, on redirige vers l'accueil du site (ou autre)
28
  - Sinon : faire un SSO
29
    - Rediriger vers l'idp
30
    - L'utilisateur s'authentifie
31
    - L'idp redirige vers le relais inverse
32
      - Si comptes non fédérés :
33
        - On affiche une page de d'auth locale
34
        - On authentifie l'utilisateur sur le relais inverse
35
        - On envoie la demande d'authentification au site
36
        - On recoit un cookie de session
37
        - On redirige vers l'accueil du site (ou autre)
38

    
39
Gestion des cookies
40
-------------------
41

    
42
- On associe à un name_identifier les cookies courants
43
- Lors de la défédération, on lie les cookies de l'utilisateur défédéré, et on crée ajoute dans le fichier "cookies_to_delete" une ligne :
44
  cookie=valeur
45
- Dans le filtre python d'apache, on lit ce fichier et pour chaque ligne, on recherche cette chaine dans l'entete "Cookie"
46
- Si on la trouve, on ajoute aux entetes en sortie " Set-Cookie: cookie="deleted" " et on supprime cette ligne du fichier
(4-4/4)