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).
- 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).