From 5827d38b8e068261e22147b457a4d63e216bacaf Mon Sep 17 00:00:00 2001 From: Fabien Lamarque Date: Thu, 5 Sep 2024 10:07:13 +0000 Subject: [PATCH] Transmet l'identifiant de Requeteur --- .env.site.template | 1 + src/adaptateurs/adaptateurEnvironnement.js | 3 +++ src/api/urlOOTS.js | 2 +- test/api/urlOOTS.spec.js | 8 ++++++++ test/routes/serveurTest.js | 1 + 5 files changed, 14 insertions(+), 1 deletion(-) diff --git a/.env.site.template b/.env.site.template index 0f326ee..c1d0556 100644 --- a/.env.site.template +++ b/.env.site.template @@ -5,6 +5,7 @@ SECRET_JETON_SESSION= # secret utilisé pour chiffrer et déchiffrer le jeton st CLE_PRIVEE_JWK_EN_BASE64= # Cle privée utilisée pour déchiffrer les infos utilisateur provenant de eIDAS (données au format JWK, chiffrées en base64) IDENTIFIANT_CLIENT_FCPLUS= # identifiant d'accès au serveur FC+ +IDENTIFIANT_REQUETEUR= # identifiant de requeteur OOTS SECRET_CLIENT_FCPLUS= # secret d'accès au serveur FC+ URL_CONFIGURATION_OPEN_ID_FCPLUS= # URL accès aux informations de configuration Open ID de FranceConnect+ URL_BASE_OOTS_FRANCE= # URL du site OOTS-France (ex. https://example.com) diff --git a/src/adaptateurs/adaptateurEnvironnement.js b/src/adaptateurs/adaptateurEnvironnement.js index 2caebbc..a2b9e81 100644 --- a/src/adaptateurs/adaptateurEnvironnement.js +++ b/src/adaptateurs/adaptateurEnvironnement.js @@ -8,6 +8,8 @@ const clePriveeJWK = () => JSON.parse(atob(process.env.CLE_PRIVEE_JWK_EN_BASE64) const identifiantClient = () => process.env.IDENTIFIANT_CLIENT_FCPLUS; +const identifiantRequeteur = () => process.env.IDENTIFIANT_REQUETEUR; + const parametresRequeteJeton = () => ({ client_id: process.env.IDENTIFIANT_CLIENT_FCPLUS, client_secret: process.env.SECRET_CLIENT_FCPLUS, @@ -30,6 +32,7 @@ module.exports = { avecOOTS, clePriveeJWK, identifiantClient, + identifiantRequeteur, parametresRequeteJeton, secretJetonSession, urlConfigurationOpenIdFCPlus, diff --git a/src/api/urlOOTS.js b/src/api/urlOOTS.js index 1b38c52..585245e 100644 --- a/src/api/urlOOTS.js +++ b/src/api/urlOOTS.js @@ -1,6 +1,6 @@ const urlOOTS = (adaptateurEnvironnement, requete) => { const { jetonAcces } = requete.session; - return `${adaptateurEnvironnement.urlBaseOOTSFrance()}/requete/pieceJustificative?codeDemarche=00&codePays=FR&jetonAcces=${jetonAcces}`; + return `${adaptateurEnvironnement.urlBaseOOTSFrance()}/requete/pieceJustificative?codeDemarche=00&codePays=FR&jetonAcces=${jetonAcces}&idRequeteur=${adaptateurEnvironnement.identifiantRequeteur()}`; }; module.exports = urlOOTS; diff --git a/test/api/urlOOTS.spec.js b/test/api/urlOOTS.spec.js index d7c8872..7e293fa 100644 --- a/test/api/urlOOTS.spec.js +++ b/test/api/urlOOTS.spec.js @@ -7,6 +7,7 @@ describe("Le constructeur de l'URL de requête OOTS-France", () => { beforeEach(() => { adaptateurEnvironnement.avecOOTS = () => true; adaptateurEnvironnement.urlBaseOOTSFrance = () => ''; + adaptateurEnvironnement.identifiantRequeteur = () => ''; requete.session = {}; }); @@ -23,4 +24,11 @@ describe("Le constructeur de l'URL de requête OOTS-France", () => { expect(url).toContain('jetonAcces=abcdef'); }); + + it("contient l'identifiant de requeteur", () => { + adaptateurEnvironnement.identifiantRequeteur = () => 'un-identifiant'; + const url = urlOOTS(adaptateurEnvironnement, requete); + + expect(url).toContain('idRequeteur=un-identifiant'); + }); }); diff --git a/test/routes/serveurTest.js b/test/routes/serveurTest.js index 0eaa886..845e7e7 100644 --- a/test/routes/serveurTest.js +++ b/test/routes/serveurTest.js @@ -29,6 +29,7 @@ const serveurTest = () => { avecMock: () => true, avecOOTS: () => true, identifiantClient: () => '', + identifiantRequeteur: () => '', secretJetonSession: () => 'secret', urlBaseOOTSFrance: () => '', urlRedirectionConnexion: () => '',