diff --git a/package-lock.json b/package-lock.json index a3573454acae693429fbcc9a3230bfb7127bfc4a..f4d683a86c8e16103c55a4401968b36197fc0ed6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1181,6 +1181,15 @@ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, + "cors": { + "version": "2.8.4", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.4.tgz", + "integrity": "sha1-K9OB8usgECAQXNUOpZ2mMJBpRoY=", + "requires": { + "object-assign": "4.1.1", + "vary": "1.1.2" + } + }, "crc": { "version": "3.4.4", "resolved": "https://registry.npmjs.org/crc/-/crc-3.4.4.tgz", diff --git a/package.json b/package.json index 84aedce3d6f7a8d49cf85d49b82d521f3d0201af..2227f83fe49302f4c9dbb55c6ff6597f48699132 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "colors": "^1.1.2", "connect-ensure-login": "^0.1.1", "connect-flash": "^0.1.1", + "cors": "^2.8.4", "express": "^4.16.2", "express-session": "^1.15.6", "fs": "0.0.1-security", diff --git a/src/ldap/ldap_data.js b/src/ldap/ldap_data.js index 9a93f2dc203c022304c49b32f0e9bfcb13497c51..5e8e5e88a44e7d7f52e5903341cce89ad3411f97 100644 --- a/src/ldap/ldap_data.js +++ b/src/ldap/ldap_data.js @@ -16,7 +16,7 @@ var ldapEscape = require('ldap-escape'); var ensureLoggedin = require('connect-ensure-login').ensureLoggedIn; // Point central ; tous les champs de la BDD sont 'cachés' dans config.json et pas visibles directement -let config = JSON.parse(fs.readFileSync('../../config.json', 'utf8')); +let config = JSON.parse(fs.readFileSync('./config.json', 'utf8')); // Connection au serveur LDAP avec des temps de timeout arbitraires var client = ldap.createClient({ url: config.ldap.server, timeout: 10000, idleTimeout: 10000}); @@ -121,4 +121,4 @@ TOL("","","","","","","faerix","","","","","","").then((meList) => { console.log /* Partage pour le reste du monde ; même remarque synthaxe export { listGroups, listMembers, TOL }; */ -module.exports ={ listGroups, listMembers, TOL }; \ No newline at end of file +module.exports = { listGroups, listMembers, TOL }; \ No newline at end of file diff --git a/src/server.js b/src/server.js index 87f08aed5ea51e0dddb2d41295d317464f5dbbe3..eda3adc1cfadc03eef8399a1d77201b82d62ae32 100644 --- a/src/server.js +++ b/src/server.js @@ -6,6 +6,7 @@ import bodyParser from 'body-parser'; import favicon from 'serve-favicon'; import morgan from 'morgan'; import path from 'path'; +import cors from 'cors'; import schema from './graphql/schema'; import { graphqlExpress, graphiqlExpress } from 'graphql-server-express'; import flash from 'connect-flash'; @@ -31,7 +32,7 @@ server.use(favicon(path.resolve('./','assets','favicon.ico'))); server.use(morgan('dev')); // Charge le middleware express pour GraphQL -server.use('/graphql', bodyParser.json(), graphqlExpress({schema})); +server.use('/graphql', cors(), bodyParser.json(), graphqlExpress({schema})); // GraphiQL est une console interactive pour faire des requêtes au schéma GraphQL server.use('/graphiql', graphiqlExpress({ endpointURL: '/graphql'}));