Projet

Général

Profil

Ajout du verif_orig dans settings.KNOWN_SERVICES

Mise en place du nouveau système de signature, basé sur #8580

On a un settings.KNOWN_SERVICES ainsi formaté :

# sur espace-usager.example.net, le settings_loaders.KnownServices génère cela :

settings.KNOWN_SERVICES = {

  "wcs": { 
    "wcs": {
      "url": "https://demarches.example.net/", 
      "orig": "espace-usager.example.net" 
      "verif_orig": "demarches.example.net", 
      "secret": "452b896499d919671d1369c159d844bc4344d1aee25c4ea5724944322e6eaebe",
           # à utiliser pour signer une URL vers https://demarches.example.net/
           # à utiliser pour vérifier une URL signée par orig=demarches.example.net
      "title": "Démarches en ligne", 
      "backoffice-menu-url": "https://demarches.example.net/backoffice/menu.json", 
      "variables": {}, 
    }
  },

  "combo": {
    "portail-agent": {
      "url": "https://portail-agent.example.net/", 
      "orig": "espace-usager.example.net" 
      "verif_orig": "portail-agent.example.net", 
      "secret": "dadd71c5f9a7c0669240844a0452ce8bbbeadc4be1f27ddc75dcf76eb6279348", 
           # à utiliser pour signer une URL vers https://portail-agent.example.net/
           # à utiliser pour vérifier une URL signée par orig=portail-agent.example.net
      "title": "Portail agent", 
      "backoffice-menu-url": "https://portail-agent.example.net/manage/menu.json", 
      "variables": {}, 
    }, 
    "espace-usager": {
      "url": "https://espace-usager.example.net/", 
      "orig": "espace-usager.example.net" 
      "verif_orig": "espace-usager.example.net", 
      # c'est le service local : pas de secret nécessaire
      "title": "Espace Usager", 
      "backoffice-menu-url": "https://espace-usager-alfortville.dev.entrouvert.org/manage/menu.json", 
      "variables": {}, 
    }
  }, 

  # les autres services

}

Sur wcs on a seulement les équivalents de verif_orig :

# extrait de demarches.example.net/site-options.cfg 

[api-secrets]
# utilisé par wcs pour vérifier une URL signée avec orig=espace-usager.example.net
espace-usager.example.net = 452b896499d919671d1369c159d844bc4344d1aee25c4ea5724944322e6eaebe

Tests après migration vers le nouveau code

  • [×] les demandes faites dans w.c.s apparaissent dans combo
  • [×] les demandes faites dans w.c.s apparaissent dans welco
  • [×] passerelle : pour les familles, les factures -- cf note ci-dessous
  • [×] de w.c.s. à combo/lingo (ça ne passe pas du tout par les secrets partagés)
  • [ ] de combo/lingo à w.c.s, paiement -- à vérifier !

Opérations à faire lors de l'installation du nouveau code (sur recette & prod)

Passerelle

Vérifier que les nouvelles clés sont bien visibles dans https://passerelle.example.net/manage/access/

w.c.s.

Vérifier que les nouvelles clés sont bien visibles dans /var/lib/wcs-au-quotidien/demarches.example.net/site-options.cfg

Il faut aussi regarder les wscall, si certains ont été configurés avec de la signature en utilisant les anciennes clés (typiquement vers passerelle). Inventaire à faire.

Inventaire des request_signature_key dans les workflows à modifier, éventuellement.

Recette :
  • sur demarches-fsb.test.au-quotidien.com : [teamnet_axel_ws_secret] à modifier dans site-options.cfg, à synchroniser avec ce qui est attendu dans le connecteur passerelle teamnet correspondant. (j'ai dupliqué la clé existante du côté Passerelle).
Prod :
  • demarches-publik.entrouvert.com/workflows/49 : wscall vers combo/lingo ...? (workflow supprimé depuis)
  • eservices.fondettes.fr/workflows/12 : [lingo_ws_secret] à modifier dans site-options.cfg, à synchroniser avec ce qui est attendu dans combo/lingo (qui ne change pas, donc ok)
  • teleservices.fontenay-sous-bois.fr : [teamnet_axel_ws_secret] à modifier dans site-options.cfg, à synchroniser avec ce qui est attendu dans le connecteur passerelle teamnet correspondant. (j'ai dupliqué la clé existante du côté Passerelle).

Combo

Changement des clés FAMILY_SERVICE/signature_key dans les settings.json : prendre la clé de signature du combo visible dans passerelle (clé dupliquée)

Combo/Lingo

Changer les clés LINGO dans les settings.json :
  • LINGO_SIGNATURE_KEY : pour communiquer avec passerelle, donc y prendre la clé de signature du combo visible dans passerelle (clé dupliquée identique à celle de family_service/signature_key)

Plus tard

  • LINGO_API_SIGN_KEY : pour recevoir de wcs, il faut indiquer la même clé que celle utilisée dans le wscall. Normalement il n'y a rien à faire, ça fonctionne déjà, MAIS pour préparer l'avenir en signature automatique, il faudrait utiliser la clé de signature visible dans le site-options.cfg de wcs pour parler avec combo.example.net (utiliser ce secret dans le wscall et dans LINGO_API_SIGN_KEY).

Formats disponibles : PDF HTML TXT