Generate IDs cryptographically securely on the server

This commit is contained in:
2017-01-09 18:19:24 -07:00
parent 4638db1f7f
commit 33d7fb4294
4 changed files with 19 additions and 6 deletions
+11 -1
View File
@@ -1,7 +1,10 @@
const path = require('path');
const express = require('express');
const pug = require('pug');
const bodyParser = require('body-parser');
const moment = require('moment');
const crypto = require('crypto');
const base64url = require('base64-url');
const app = express();
@@ -9,14 +12,21 @@ const host = 'http://127.0.0.1';
const port = 3000;
app.use(bodyParser.urlencoded({ extended: false }));
app.set('view engine', 'pug')
function log(message) {
console.log(moment().format() + ': ' + message);
}
function generateID() {
const bytes = crypto.randomBytes(30);
const string = base64url.encode(bytes);
return string.substring(0, 8);
}
app.use('/', express.static(path.join(__dirname, 'public')));
app.get('/*', (req, res) => {
res.sendFile(path.join(__dirname, 'public/index.html'));
res.render('index', { secureID: generateID() })
});
app.post('*', (req, res) => {