fonctionnement du sso
=====================


.. image:: sso.png
   :align: center

logging
-------

1. envoi du login ~ mdp sur le serveur sso
2. si login, mdp bon, le serveur sso renvoie un `session_id`
3. pour se connecter au backend, le frontend se reconnecte au sso en
   renvoyant son `session_id`
4. le sso lui renvoie un `ticket` (valable trs peu de temps)
5. le frontend fait une demande de connexion au backend en envoyant le
   `ticket`
6. le backend vrifie la validit du `ticket` auprs du sso
7. le sso rpond oui ou non  la question "le ticket est-il valide"
8. le backend envoie un `magic_number` au front-end 
9.  chaque communication avec le backend, le front-end devra fournir
   le `magic_number` que le backend vrifiera  chaque fois 
   (le backend stocke en interne tous les `magic_number` valides).


.. note:: le `magic_number` expire au bout d'un certain temps (temps
          rinitialis  chaque action excute). Une fois que le
          magic_number a expir,le front-end doit recommencer
          la squence d'authentification. 


