@tiledesk/tiledesk-server 2.4.33 → 2.4.35

Sign up to get free protection for your applications and to get access to all the features.
package/app.js CHANGED
@@ -72,6 +72,7 @@ var connection = mongoose.connect(databaseUri, { "useNewUrlParser": true, "autoI
72
72
  winston.error('Failed to connect to MongoDB on ' + databaseUri + " ", err);
73
73
  process.exit(1);
74
74
  }
75
+ winston.info("Mongoose connection done on host: "+mongoose.connection.host + " on port: " + mongoose.connection.port + " with name: "+ mongoose.connection.name)// , mongoose.connection.db);
75
76
  });
76
77
  if (process.env.MONGOOSE_DEBUG==="true") {
77
78
  mongoose.set('debug', true);
@@ -133,6 +134,7 @@ var schemaMigrationService = require('./services/schemaMigrationService');
133
134
  var RouterLogger = require('./models/routerLogger');
134
135
  var cacheEnabler = require("./services/cacheEnabler");
135
136
  const session = require('express-session');
137
+ const RedisStore = require("connect-redis").default
136
138
 
137
139
  require('./services/mongoose-cache-fn')(mongoose);
138
140
 
@@ -275,11 +277,49 @@ app.use(passport.initialize());
275
277
  if (process.env.DISABLE_SESSION_STRATEGY==true || process.env.DISABLE_SESSION_STRATEGY=="true" ) {
276
278
  winston.info("Express Session disabled");
277
279
  } else {
280
+
278
281
  // https://www.npmjs.com/package/express-session
279
282
  let sessionSecret = process.env.SESSION_SECRET || "tiledesk-session-secret";
280
- winston.info("Express Session Secret: " + sessionSecret);
281
- app.use(session({ secret: sessionSecret}));
283
+
284
+ if (process.env.ENABLE_REDIS_SESSION==true || process.env.ENABLE_REDIS_SESSION=="true" ) {
285
+
286
+ // Initialize client.
287
+ // let redisClient = createClient()
288
+ // redisClient.connect().catch(console.error)
289
+
290
+ let cacheClient = undefined;
291
+ if (pubModulesManager.cache) {
292
+ cacheClient = pubModulesManager.cache._cache._cache; //_cache._cache to jump directly to redis modules without cacheoose wrapper (don't support await)
293
+ }
294
+ // winston.info("Express Session cacheClient",cacheClient);
295
+
296
+
297
+ let redisStore = new RedisStore({
298
+ client: cacheClient,
299
+ prefix: "sessions:",
300
+ })
301
+
302
+
303
+ app.use(
304
+ session({
305
+ store: redisStore,
306
+ resave: false, // required: force lightweight session keep alive (touch)
307
+ saveUninitialized: false, // recommended: only save session when data exists
308
+ secret: sessionSecret
309
+ })
310
+ )
311
+ winston.info("Express Session with Redis enabled with Secret: " + sessionSecret);
312
+
313
+
314
+ } else {
315
+ app.use(session({ secret: sessionSecret}));
316
+ winston.info("Express Session enabled with Secret: " + sessionSecret);
317
+
318
+ }
319
+
282
320
  app.use(passport.session());
321
+
322
+
283
323
  }
284
324
 
285
325
  //ATTENTION. If you use AWS Api Gateway you need also to configure the cors policy https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors-console.html
@@ -460,7 +460,7 @@ if (enableGoogleSignin==true) {
460
460
  clientID: googleClientId,
461
461
  clientSecret: googleClientSecret,
462
462
  callbackURL: googleCallbackURL, // 'https://www.example.com/oauth2/redirect/google'
463
- stateless: true
463
+ // stateless: true ????
464
464
  },
465
465
  function(issuer, profile, cb) {
466
466
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tiledesk/tiledesk-server",
3
3
  "description": "The Tiledesk server module",
4
- "version": "2.4.33",
4
+ "version": "2.4.35",
5
5
  "scripts": {
6
6
  "start": "node ./bin/www",
7
7
  "pretest": "mongodb-runner start",
@@ -29,11 +29,11 @@
29
29
  "tiledesk-server": "./bin/www"
30
30
  },
31
31
  "optionalDependencies": {
32
+ "@tiledesk-ent/tiledesk-server-enterprise": "^1.0.0",
32
33
  "@tiledesk-ent/tiledesk-server-jwthistory": "^1.1.9",
33
34
  "@tiledesk-ent/tiledesk-server-payments": "^1.1.12",
34
35
  "@tiledesk-ent/tiledesk-server-request-history": "^1.1.5",
35
- "@tiledesk-ent/tiledesk-server-visitorcounter": "^1.1.1",
36
- "@tiledesk-ent/tiledesk-server-enterprise": "^1.0.0"
36
+ "@tiledesk-ent/tiledesk-server-visitorcounter": "^1.1.1"
37
37
  },
38
38
  "dependencies": {
39
39
  "@tiledesk/tiledesk-apps": "^1.0.16",
@@ -44,13 +44,14 @@
44
44
  "@tiledesk/tiledesk-kaleyra-proxy": "^0.1.7",
45
45
  "@tiledesk/tiledesk-messenger-connector": "0.1.9",
46
46
  "@tiledesk/tiledesk-rasa-connector": "^1.0.10",
47
- "@tiledesk/tiledesk-tybot-connector": "^0.1.86",
47
+ "@tiledesk/tiledesk-tybot-connector": "^0.1.87",
48
48
  "@tiledesk/tiledesk-whatsapp-connector": "^0.1.50",
49
49
  "amqplib": "^0.5.5",
50
50
  "app-root-path": "^3.0.0",
51
51
  "bcrypt-nodejs": "0.0.3",
52
52
  "body-parser": "^1.20.0",
53
53
  "cachegoose": "^8.0.0",
54
+ "connect-redis": "^7.1.0",
54
55
  "cookie-parser": "^1.4.6",
55
56
  "cors": "^2.8.5",
56
57
  "csv-express": "^1.2.2",