Authentification par tiers

Généralités

Si les profils sont gérés au niveau du module d'authentification, cela permet par exemple de demander carte à puce ou double facteur pour profils admin.

CERBERE Bouchon n'existe pas pour PHP, mais on a un environnement de recette (CERBERE Bouchon Java en ligne) Pour la fiche d'application pour ouvrir un environnement de recette (=obtenir un numéro d'application) http://intra.pssi.sg.e2.rie.gouv.fr/documents-de-reference-r161.html
https:///authentificiaion.recette.din.developpement-durable.gouv.fr

Protocoles pris en charge

CAS CAS/SAML SAML1.1 SML2.0 et OpenIDConnect

SML 2.0 (fonctionne en mode POST, avec info signée sans transmission de serveur à serveur), tandis que pour tous les autres communication serveur applicatif/Serveur CERBERE

Pour PHP: en général on utilise CAS: http://pne.metier.e2.rie.gouv.fr/utilisation-du-protocole-cas-dans-cerbere-a1891.html

processus d'authentification utilisateur

  1. depuis un navigateur web, un utilisateur affiche page appli
  2. L'application voit si pas connecté (session expirée) => redirige vers module authentification en donnant URL Callback, et son n° d'application
  3. validation identité sur module tiers d'authentification
  4. redirection de l'utilisateur vers URL Callback fournie, avec un Jeton dans l'URL
  5. L'appli se connecte sur Cerbère sur module authentification pour valider la validité du Jeton
Durée session CAS PHP par défaut = 4h
  1. Utilisateur ouvre dans navigateur https://tscadm-stage.dev.inelo.pl/admin/login
  2. redirigé vers https://authentification.recette.din.developpement-durable.gouv.fr/cas/537/login?service=https%3A%2F%2Ftscadm-stage.dev.inelo.pl%2Fadmin%2Flogin-with-cas
  3. formulaire posté vers https://authentification.recette.din.developpement-durable.gouv.fr/authSAML/connexion/formulaire.do avec variables POST:
    backURL=https://tscadm-stage.dev.inelo.pl/admin/login-with-cas
    appId=537
    ssoCas=true
    protocol=saml11
    authRequestId
    login=daniel.oddon
    password=dddd
    
  4. redirection vers URL Callback: https://tscadm-stage.dev.inelo.pl/admin/login-with-cas?ticket=ST-9E4D3F8CE09A2C8C5BC8B3634BA0356FADEBBE75
  5. L'appli se connecte sur https://authentification.recette.din.developpement-durable.gouv.fr/cas/537/serviceValidate?ticket=ST-135745E21938C51E68DC21A4B4551855FFA65CDF et obtient:
    
    Daniel.Oddon@developpement-durable.gouv.fr
    
    
  6. Si elle s'était connectée sur https://authentification.recette.din.developpement-durable.gouv.fr/cas/537/samlValidate?ticket=ST-135745E21938C51E68DC21A4B4551855FFA65CDF elle aurait obtenu un jeton plus complet
  7. On peut appeler Cerbère avec URL de Callback qui lance une application: https://authentification.recette.din.developpement-durable.gouv.fr/cas/537/login?service=tachoscancontrol:cerbere ###> CAS authority parameters ### CAS_HOSTNAME="authentification.recette.din.developpement-durable.gouv.fr" CAS_CERT="var/cas/AC-RGS-Certigna-Racine-SHA1.pem" CAS_DEBUG="var/cas/phpcas-trace.log" CAS_API_DOMAIN="http://127.0.0.1:8000" CAS_URI_LOGIN="/cas/public/login" CAS_URI_VALIDATE="/cas/public/serviceValidate" To get the Cerbere ID number, you have it when calling /cas/537/samlValidate, instead of /cas/537/serviceValidate.
    http://172.23.209.38/admin/login-with-cas?TARGET=http%3A%2F%2F172.23.209.38%2Fadmin%2Flogin-with-cas&SAMLart=AAGVnLK1pEvI5TgciG9lDQzvh%2BeHoZ5i40uvAygtrhjCb7CWhM8Zwj6C AAGVnLK1pEvI5TgciG9lDQzvh+eHoZ5i40uvAygtrhjCb7CWhM8Zwj6C