Add and implement config package

This commit is contained in:
Kevin Thomas
2021-07-29 23:21:46 -07:00
parent 45279d061a
commit 91622582b0
6 changed files with 16015 additions and 52 deletions

13
config/default.json Normal file
View File

@@ -0,0 +1,13 @@
{
"Server": {
"listeningPort": 3000,
"sessionFileStorePath": "./sessions",
"sessionSecret": "cats",
"tls": true,
"tlsKey": "./certs/key.pem",
"tlsCert": "./certs/cert.pem"
},
"Client": {
"listeningPort": 8080
}
}

16018
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -10,6 +10,7 @@
}, },
"dependencies": { "dependencies": {
"axios": "^0.21.1", "axios": "^0.21.1",
"config": "^3.3.6",
"connect-ensure-login": "^0.1.1", "connect-ensure-login": "^0.1.1",
"cookie-parser": "^1.4.5", "cookie-parser": "^1.4.5",
"core-js": "^3.6.5", "core-js": "^3.6.5",

View File

@@ -5,6 +5,7 @@ const cors = require('cors')
const passport = require('passport') const passport = require('passport')
const path = require('path') const path = require('path')
const cookieParser = require('cookie-parser') const cookieParser = require('cookie-parser')
const config = require('config')
const indexRouter = require('./routes/index') const indexRouter = require('./routes/index')
const authRouter = require('./routes/auth') const authRouter = require('./routes/auth')
@@ -14,14 +15,14 @@ const usersRouter = require('./routes/users')
const app = express() const app = express()
const corsOptions = { const corsOptions = {
origin: 'http://localhost:8080', origin: 'http://localhost:'.concat(config.get('Client.listeningPort')),
credentials: true credentials: true
} }
app.use(cors(corsOptions)) app.use(cors(corsOptions))
const fileStoreOptions = { const fileStoreOptions = {
path: './sessions' path: config.get('Server.sessionFileStorePath')
}; };
require('./boot/db')() require('./boot/db')()
@@ -30,7 +31,7 @@ require('./boot/auth')()
app.use(express.json()) app.use(express.json())
app.use(express.urlencoded({ extended: false })) app.use(express.urlencoded({ extended: false }))
app.use(cookieParser()) app.use(cookieParser())
app.use(session({ store: new FileStore(fileStoreOptions), secret: 'cats', resave: true, saveUninitialized: true })) app.use(session({ store: new FileStore(fileStoreOptions), secret: config.get('Server.sessionSecret'), resave: true, saveUninitialized: true }))
app.use(function (req, res, next) { app.use(function (req, res, next) {
const msgs = req.session.messages || [] const msgs = req.session.messages || []
res.locals.messages = msgs res.locals.messages = msgs

View File

@@ -5,27 +5,28 @@
*/ */
const app = require('../app') const app = require('../app')
const debug = require('debug')('example:server') const debug = require('debug')('example:server')
const https = require('https')
const fs = require('fs') const fs = require('fs')
const config = require('config')
const tls = config.get('Server.tls')
const http = require(tls ? 'https' : 'http')
/** /**
* Get port from environment and store in Express. * Get port from environment and store in Express.
*/ */
const port = normalizePort(process.env.PORT || '3000') const port = normalizePort(config.get('Server.listeningPort'))
app.set('port', port) app.set('port', port)
/** let server = http.createServer(app)
* HTTPS options. if (tls) {
*/
const httpsOptions = { const httpsOptions = {
key: fs.readFileSync('./certs/key.pem'), key: fs.readFileSync(config.get('Server.tlsKey')),
cert: fs.readFileSync('./certs/cert.pem') cert: fs.readFileSync(config.get('Server.tlsCert'))
} }
/** server = http.createServer(httpsOptions, app)
* Create HTTP server. }
*/
const server = https.createServer(httpsOptions, app)
/** /**
* Listen on provided port, on all network interfaces. * Listen on provided port, on all network interfaces.

View File

@@ -5,7 +5,6 @@ const db = require('../db')
const router = express.Router() const router = express.Router()
router.post('/', function (req, res, next) { router.post('/', function (req, res, next) {
console.log('REQ: ', req.body)
const salt = crypto.randomBytes(16) const salt = crypto.randomBytes(16)
crypto.pbkdf2(req.body.password, salt, 10000, 32, 'sha256', function (err, hashedPassword) { crypto.pbkdf2(req.body.password, salt, 10000, 32, 'sha256', function (err, hashedPassword) {
if (err) { return next(err) } if (err) { return next(err) }