// *aucun* effet sur les requetes n'ayant pas ete reconnues par app.use(session(...)) (e.g. les requetes sans cookie ou les requetes avec cookie expired). source: lecture directe du code passport/lib/strategies/session.js sur github... :/
// *aucun* effet sur les requetes n'ayant pas ete reconnues par app.use(session(...)) (e.g. les requetes sans cookie ou les requetes avec cookie expired). source: lecture directe du code passport/lib/strategies/session.js sur github... :/
/*
// connect-flash is middleware for flashing messages, used in adminview
app.use((req, res, next) => {
app.use(flash());
console.log("Finished trying to authentify request as an existing session");
@@ -237,26 +246,8 @@ const graphServer = new ApolloServer({
...
@@ -237,26 +246,8 @@ const graphServer = new ApolloServer({
}
}
}
}
});
});
graphServer.applyMiddleware({app});
server.applyMiddleware({app});
/**
* @desc SETUP DE ADMINVIEW, L'INTERFACE ADMIN DES BDD
* Remarque: le graphiql est desormais integre a express-graphql (mai 2018), donc il n'est plus possible de le proteger par connect-ensure-login, ni donc de considerer qu'il fait partie de l'adminview.
* C'est relativement grave, car n'importe qui se connectant directement a [adresse_IP_de_roued]/graphql peut faire des requetes a la base de donnees de sigma
* Donc il faudra retirer cette fonctionnalite en production ; or elle est pratique, meme en production, pour des sanity checks.
* ...bref integrer graphiql a express-graphql etait completement con.
*/
// setting up view engine for pug, for adminview
console.log("Running at",__dirname);
letviewpath=path.resolve(__dirname,'views');
app.set('views',viewpath);
app.set('view engine','pug');
// connect-flash is middleware for flashing messages, used in adminview
app.use(flash());
// GraphQL voyager affiche une représentation sous forme de graphe du schema GraphQL
// GraphQL voyager affiche une représentation sous forme de graphe du schema GraphQL
// accessible depuis adminview
// accessible depuis adminview
...
@@ -268,11 +259,8 @@ app.use('/voyager',
...
@@ -268,11 +259,8 @@ app.use('/voyager',
// on utilise un express.Router qui sert a creer un "sous-middleware stack".
// on utilise un express.Router qui sert a creer un "sous-middleware stack".
app.use('/adminview',router);// catches and resolves HTTP requests to paths '/adminview/*'
app.use('/adminview',router);// catches and resolves HTTP requests to paths '/adminview/*'
// catch all other GET requests.
app.use('/',(req,res)=>{
// il est bien sur essentiel de mettre ceci a la toute fin du middleware stack !