mirror of
https://github.com/openmhz/trunk-server.git
synced 2026-11-12 16:57:39 -05:00
61 lines
1.7 KiB
JavaScript
61 lines
1.7 KiB
JavaScript
const path = require("path");
|
|
const express = require("express");
|
|
const session = require("express-session");
|
|
const bodyParser = require("body-parser");
|
|
const connectMongo = require("connect-mongo");
|
|
const secrets = require("./secrets");
|
|
|
|
const MongoStore = connectMongo(session)
|
|
var cookie_domain = process.env['COOKIE_DOMAIN'] != null ? process.env['COOKIE_DOMAIN'] : '.openmhz.com'; //'https://s3.amazonaws.com/robotastic';
|
|
|
|
|
|
module.exports = function(app, passport) {
|
|
app.set("port", 3009)
|
|
|
|
// X-Powered-By header has no functional value.
|
|
// Keeping it makes it easier for an attacker to build the site's profile
|
|
// It can be removed safely
|
|
app.disable("x-powered-by")
|
|
app.enable('trust proxy')
|
|
app.use(bodyParser.json())
|
|
app.use(bodyParser.urlencoded({ extended: true }))
|
|
app.use(express.static(path.join(process.cwd(), 'public')));
|
|
|
|
const sess = {
|
|
secret: 'secret',
|
|
/*saveUninitialized: false,
|
|
resave: false,*/
|
|
resave: true,
|
|
saveUninitialized: true,
|
|
secret: secrets.sessionSecret,
|
|
proxy: true,
|
|
name: "sessionId",
|
|
cookie: {
|
|
httpOnly: true,
|
|
secure: false,
|
|
domain: cookie_domain
|
|
},
|
|
store: new MongoStore({
|
|
url: secrets.db,
|
|
autoReconnect: true
|
|
})
|
|
}
|
|
|
|
var node_env = process.env.NODE_ENV;
|
|
console.log('--------------------------');
|
|
console.log('===> 😊 Starting Server . . .');
|
|
console.log('===> Environment: ' + node_env);
|
|
/*if(node_env === 'production') {
|
|
console.log('===> 🚦 Note: In order for authentication to work in production');
|
|
console.log('===> you will need a secure HTTPS connection');
|
|
sess.cookie.secure = true; // Serve secure cookies
|
|
sess.cookie.httpOnly = false;
|
|
}*/
|
|
|
|
app.use(session(sess))
|
|
|
|
app.use(passport.initialize())
|
|
app.use(passport.session())
|
|
|
|
}
|