aboutsummaryrefslogtreecommitdiff
path: root/src/server/index.ts
diff options
context:
space:
mode:
authormadelinegr <laura_wilson@brown.edu>2019-02-14 00:22:11 -0500
committermadelinegr <laura_wilson@brown.edu>2019-02-14 00:22:11 -0500
commitff25c29c6801b1858ce6cd15a5735dba1fc67e8c (patch)
tree12f31374536e4bb79351341191abff6e8a49082b /src/server/index.ts
parentbb3ebfa2e3176fdfb648cb7da052e07989fee050 (diff)
initial signup / login implementation
Diffstat (limited to 'src/server/index.ts')
-rw-r--r--src/server/index.ts35
1 files changed, 30 insertions, 5 deletions
diff --git a/src/server/index.ts b/src/server/index.ts
index ff3e2a5eb..416eaa009 100644
--- a/src/server/index.ts
+++ b/src/server/index.ts
@@ -4,6 +4,7 @@ import * as webpack from 'webpack'
import * as wdm from 'webpack-dev-middleware';
import * as whm from 'webpack-hot-middleware';
import * as path from 'path'
+import * as passport from 'passport';
import { MessageStore, Message, SetFieldArgs, GetFieldArgs, Transferable } from "./Message";
import { Client } from './Client';
import { Socket } from 'socket.io';
@@ -12,11 +13,21 @@ import { ObservableMap } from 'mobx';
import { FIELD_ID, Field } from '../fields/Field';
import { Database } from './database';
import { ServerUtils } from './ServerUtil';
-import { ObjectID } from 'mongodb';
-const config = require('../../webpack.config')
-const compiler = webpack(config)
+import * as passportConfig from './authentication/config/passport';
+import { getLogin, postLogin, getSignup, postSignup } from './authentication/controllers/user';
+const config = require('../../webpack.config');
+const compiler = webpack(config);
const port = 1050; // default port to listen
const serverPort = 1234;
+import expressValidator = require('express-validator');
+import expressFlash = require('express-flash');
+import bodyParser = require('body-parser');
+import c = require("crypto");
+
+app.use(bodyParser());
+app.use(expressValidator());
+app.use(expressFlash());
+app.use(require('express-session')({ secret: `${c.randomBytes(64)}`, resave: true, saveUninitialized: true }));
let FieldStore: ObservableMap<FIELD_ID, Field> = new ObservableMap();
@@ -52,8 +63,8 @@ server.on("connection", function (socket: Socket) {
Utils.Emit(socket, MessageStore.Foo, "handshooken")
Utils.AddServerHandler(socket, MessageStore.Bar, barReceived)
- Utils.AddServerHandler(socket, MessageStore.SetField, setField)
- Utils.AddServerHandlerCallback(socket, MessageStore.GetField, getField)
+ // Utils.AddServerHandler(socket, MessageStore.SetField, setField)
+ // Utils.AddServerHandlerCallback(socket, MessageStore.GetField, getField)
})
function barReceived(guid: String) {
@@ -83,5 +94,19 @@ function getField([fieldRequest, callback]: [GetFieldArgs, (field: Field) => voi
}
}
+// initialize passport
+app.use(passport.initialize());
+app.use(passport.session());
+
+app.use((req, res, next) => {
+ res.locals.user = req.user;
+ next();
+});
+
+app.get("/signup", getSignup);
+app.post("/signup", postSignup);
+app.get("/login", getLogin);
+app.post("/login", postLogin);
+
server.listen(serverPort);
console.log(`listening on port ${serverPort}`); \ No newline at end of file