@@ -44,15 +44,15 @@ async function init() {
4444 // Middleware CORS
4545 app . use (
4646 cors ( {
47- origin : process . env . CLIENT_BASE_URL , // Remplacez par l'URL de votre frontend
47+ origin : process . env . CLIENT_BASE_URL ,
4848 credentials : true , // Autorise l'envoi des cookies avec les requêtes
4949 } )
5050 ) ;
5151
5252 // Middleware de session
5353 app . use (
5454 session ( {
55- secret : SESSION , // Utilisez une chaîne sécurisée
55+ secret : SESSION , // Clé secrète pour signer le cookie de session
5656 resave : false ,
5757 saveUninitialized : false ,
5858 cookie : {
@@ -63,6 +63,7 @@ async function init() {
6363 } )
6464 ) ;
6565 app . use ( ( req , res , next ) => {
66+ console . log ( "SESSION-ID:" , req . sessionID , "route:" , req . path ) ;
6667 next ( ) ;
6768 } ) ;
6869 // Body parsers
@@ -105,15 +106,15 @@ async function init() {
105106 // Stocker dans la session
106107 req . session . state = state ;
107108 req . session . nonce = nonce ;
109+
108110 if ( isDev ( ) ) {
109111 logger . debug ( { state, nonce } , "Init ProConnect auth" ) ;
110112 }
111113 const authorizationUrl = proconnectClient . authorizationUrl ( {
112- scope :
113- "openid given_name usual_name email siret profile organization custom idp_id" ,
114- state : state ,
115- nonce : nonce ,
116- acr_values : "eidas1" ,
114+ scope : "openid given_name usual_name email siret idp_id" ,
115+ state,
116+ nonce,
117+ // acr_values: "eidas1",
117118 claims : {
118119 id_token : {
119120 amr : {
@@ -123,7 +124,10 @@ async function init() {
123124 } ,
124125 } ) ;
125126
126- res . redirect ( authorizationUrl ) ;
127+ req . session . save ( ( err ) => {
128+ if ( err ) return next ( err ) ;
129+ res . redirect ( authorizationUrl ) ;
130+ } ) ;
127131 } ) ;
128132
129133 // Route de callback pour gérer la réponse de ProConnect
@@ -148,19 +152,21 @@ async function init() {
148152 nonce : storedNonce ,
149153 }
150154 ) ;
155+ // Stocker tokenSet dans la session pour une utilisation ultérieure (par exemple, pour le logout)
156+ req . session . tokenSet = tokenSet ;
151157 // Supprimer le state et le nonce de la session après l'appel réussi
152158 delete req . session . state ;
153159 delete req . session . nonce ;
154160
155- // Stocker tokenSet dans la session pour une utilisation ultérieure (par exemple, pour le logout)
156- req . session . tokenSet = tokenSet ;
157-
158161 // Récupérer les informations utilisateur
159162 const userInfo = await proconnectClient . userinfo ( tokenSet . access_token ) ;
160163 req . session . user = userInfo ;
161164 if ( isDev ( ) ) {
162165 logger . debug ( { tokenSet } , "TokenSet received from ProConnect" ) ;
163166 }
167+ if ( isDev ( ) ) {
168+ logger . debug ( { tokenSet } , "TokenSet received from ProConnect" ) ;
169+ }
164170 // Rediriger vers le frontend après l'authentification
165171 res . redirect ( "/" ) ;
166172 } catch ( error ) {
0 commit comments