diff --git a/src/api/creationSessionFCPlus.js b/src/api/creationSessionFCPlus.js index 7d36da5..ccfc3da 100644 --- a/src/api/creationSessionFCPlus.js +++ b/src/api/creationSessionFCPlus.js @@ -8,7 +8,7 @@ const creationSessionFCPlus = (config, requete, reponse) => { return adaptateurFranceConnectPlus.urlCreationSession() .then((url) => reponse.redirect( - `${url}?scope=profile%20openid&acr_values=eidas2&claims={%22id_token%22:{%22amr%22:{%22essential%22:true}}}&prompt=login%20consent&response_type=code&idp_hint=${adaptateurEnvironnement.fournisseurIdentiteSuggere()}&client_id=${identifiantClient}&redirect_uri=${urlRedirectionConnexion}&state=${etat}&nonce=${nonce}`, + `${url}?scope=profile%20openid+birthcountry+birthplace&acr_values=eidas2&claims={%22id_token%22:{%22amr%22:{%22essential%22:true}}}&prompt=login%20consent&response_type=code&idp_hint=${adaptateurEnvironnement.fournisseurIdentiteSuggere()}&client_id=${identifiantClient}&redirect_uri=${urlRedirectionConnexion}&state=${etat}&nonce=${nonce}`, )); }; diff --git a/test/api/creationSessionFCPlus.spec.js b/test/api/creationSessionFCPlus.spec.js index 1847643..5dec3f8 100644 --- a/test/api/creationSessionFCPlus.spec.js +++ b/test/api/creationSessionFCPlus.spec.js @@ -110,6 +110,22 @@ describe('Le requêteur de création de session FC+', () => { return creationSessionFCPlus(config, requete, reponse); }); + it("ajoute les scopes d'openId, de profil, de pays de naissance et de lieu de naissance à la requête", () => { + expect.assertions(3); + reponse.redirect = (url) => { + try { + expect(url).toContain('scope=profile%20openid'); + expect(url).toContain('birthcountry'); + expect(url).toContain('birthplace'); + return Promise.resolve(); + } catch (e) { + return Promise.reject(e); + } + }; + + return creationSessionFCPlus(config, requete, reponse); + }); + describe('Si utilisation bridge eIDAS', () => { it('renseigne le paramètre `idp_hint` avec la valeur `eidas-bridge`', () => { expect.assertions(1);