Removed express, added authentication

This commit is contained in:
2018-10-29 03:09:32 +11:00
parent 729209288d
commit 09901ca10f
4 changed files with 46 additions and 16 deletions

View File

@@ -1,26 +1,32 @@
// .env Variables
require("dotenv").config({path: "../.env"});
//server tools
let express = require("express");
let socket = require("socket.io");
//socket.io setup
let server = require("http").createServer();
let io = require("socket.io")(server);
let ioAuth = require("socketio-auth");
//express setup
let app = express();
let server = app.listen(process.env.SERVER_PORT, () => {
console.log("Listening to requests on port " + process.env.SERVER_PORT);
ioAuth(io, {
authenticate: function(socket, data, callback) {
return callback(null, data.SERVER_PASS_KEY === process.env.SERVER_PASS_KEY);
},
postAuthenticate: function(socket, data) {
console.log("Authenticated: " + data.username);
socket.client.username = data.username;
}
});
//shared code
let calcRandom = require('../Shared/calc_random');
//socket.io setup
let io = socket(server);
//TODO: isolate these responses to specific bots
io.on("connection", async (socket) => {
console.log("made socket connection");
socket.on("disconnect", async () => {
console.log(socket.client.username + " disconnected");
});
//update the playerbase's stamina on command
socket.on("updateStamina", async ({ userID, data }) => {
console.log("updating stamina for all users...");
@@ -111,4 +117,8 @@ io.on("connection", async (socket) => {
fn("newUser"); //["joined", "conversionLocked", "newUser"]
}
});
});
});
//listen
server.listen(process.env.SERVER_PORT);
console.log("listening on port " + process.env.SERVER_PORT);

View File

@@ -13,8 +13,8 @@
"license": "ISC",
"dependencies": {
"dotenv": "^6.1.0",
"express": "^4.16.4",
"forever": "^0.15.3",
"socket.io": "^2.1.1"
"socket.io": "^2.1.1",
"socketio-auth": "^0.1.1"
}
}