Browse Source

Merge branch 'develop' of git.digitaltelepresence.com:digital-telepresence/dtp-base into develop

pull/19/head
Rob Colbert 2 years ago
parent
commit
77956c867e
  1. 2
      app/services/user.js
  2. 3
      app/views/layouts/main.pug
  3. 2
      gulpfile.js
  4. 17
      lib/site-platform.js
  5. 4
      ssl/mkcert
  6. 2
      ssl/openssl.cnf

2
app/services/user.js

@ -368,7 +368,7 @@ class UserService extends SiteService {
async handleLocalLogin (username, password, done) { async handleLocalLogin (username, password, done) {
const now = new Date(); const now = new Date();
this.log.info('handleLocalLogin', { username, password }); this.log.info('handleLocalLogin', { username });
try { try {
const user = await this.authenticate({ username, password }, { adminRequired: false }); const user = await this.authenticate({ username, password }, { adminRequired: false });
await this.startUserSession(user, now); await this.startUserSession(user, now);

3
app/views/layouts/main.pug

@ -89,6 +89,9 @@ html(lang='en')
script(src=`/numeral/numeral.min.js?v=${pkg.version}`) script(src=`/numeral/numeral.min.js?v=${pkg.version}`)
script(src=`/socket.io/socket.io.js?v=${pkg.version}`) script(src=`/socket.io/socket.io.js?v=${pkg.version}`)
if process.env.NODE_ENV !== 'production'
script(src="https://localhost:3310/browser-sync/browser-sync-client.js?v=2.27.7")
block vendorjs block vendorjs
script. script.

2
gulpfile.js

@ -31,7 +31,7 @@ function util_start_browsersync ( ) {
key: path.join(__dirname, 'ssl', 'dtp-sites.key'), key: path.join(__dirname, 'ssl', 'dtp-sites.key'),
cert: path.join(__dirname, 'ssl', 'dtp-sites.crt'), cert: path.join(__dirname, 'ssl', 'dtp-sites.crt'),
}, },
port: 3320, port: 3420,
cors: true, cors: true,
ui: { ui: {
port: 3620, port: 3620,

17
lib/site-platform.js

@ -203,6 +203,7 @@ module.exports.startPlatform = async (dtp) => {
module.exports.startWebServer = async (dtp) => { module.exports.startWebServer = async (dtp) => {
const { page: pageService } = module.services; const { page: pageService } = module.services;
const IS_PRODUCTION = (process.env.NODE_ENV === 'production');
dtp.app = module.app = express(); dtp.app = module.app = express();
@ -290,6 +291,7 @@ module.exports.startWebServer = async (dtp) => {
/* /*
* Express sessions * Express sessions
*/ */
module.log.info('initializing redis session store'); module.log.info('initializing redis session store');
var sessionStore = new RedisSessionStore({ client: module.redis }); var sessionStore = new RedisSessionStore({ client: module.redis });
@ -298,19 +300,28 @@ module.exports.startWebServer = async (dtp) => {
name: `dtp:${process.env.DTP_SITE_DOMAIN_KEY}.${process.env.NODE_ENV}`, name: `dtp:${process.env.DTP_SITE_DOMAIN_KEY}.${process.env.NODE_ENV}`,
secret: process.env.HTTP_SESSION_SECRET, secret: process.env.HTTP_SESSION_SECRET,
resave: true, resave: true,
proxy: IS_PRODUCTION,
saveUninitialized: true, saveUninitialized: true,
cookie: { cookie: {
domain: process.env.DTP_SITE_DOMAIN, domain: process.env.DTP_SITE_DOMAIN_KEY,
path: '/', path: '/',
httpOnly: true, httpOnly: true,
secure: process.env.HTTP_COOKIE_SECURE === 'enabled', secure: true,
sameSite: process.env.HTTP_COOKIE_SAMESITE || false, sameSite: process.env.HTTP_COOKIE_SAMESITE || false,
expires: SESSION_DURATION, expires: SESSION_DURATION,
}, },
store: null, store: null,
}; };
module.log.info('configuring session handler', {
domain: module.sessionConfig.cookie.domain,
httpOnly: module.sessionConfig.cookie.httpOnly,
secure: module.sessionConfig.cookie.secure,
sameSite: module.sessionConfig.cookie.sameSite,
expires: module.sessionConfig.cookie.expires,
});
module.sessionConfig.store = sessionStore; module.sessionConfig.store = sessionStore;
if (process.env.NODE_ENV === 'production') { if (IS_PRODUCTION && module.sessionConfig.cookie.secure) {
module.log.info('session will be trusting first proxy');
module.app.set('trust proxy', 1); module.app.set('trust proxy', 1);
} }
module.app.use(session(module.sessionConfig)); module.app.use(session(module.sessionConfig));

4
ssl/mkcert

@ -1,7 +1,9 @@
#!/bin/bash #!/bin/bash
rm -f *crt *key
openssl genrsa -out dtp-sites.key openssl genrsa -out dtp-sites.key
openssl req -new -out dtp-sites.csr -key dtp-sites.key -config openssl.cnf openssl req -new -out dtp-sites.csr -key dtp-sites.key -config openssl.cnf
openssl x509 -req -days 3650 -in dtp-sites.csr -signkey dtp-sites.key -out dtp-sites.crt -extensions v3_req -extfile openssl.cnf openssl x509 -req -days 3650 -in dtp-sites.csr -signkey dtp-sites.key -out dtp-sites.crt -extensions v3_req -extfile openssl.cnf
rm dtp-sites.csr rm dtp-sites.csr

2
ssl/openssl.cnf

@ -14,7 +14,7 @@ organizationalUnitName_default = DTP Technologies, LLC
commonName = dev.sites.digitaltelepresence.com commonName = dev.sites.digitaltelepresence.com
commonName_max = 64 commonName_max = 64
[ v3_req ] [v3_req]
# Extensions to add to a certificate request # Extensions to add to a certificate request
basicConstraints = CA:FALSE basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment keyUsage = nonRepudiation, digitalSignature, keyEncipherment

Loading…
Cancel
Save