From 2954af147575a99b527f9d35fa4dfd31fe5fa7c9 Mon Sep 17 00:00:00 2001 From: Sendou Date: Mon, 18 Nov 2019 00:11:36 +0200 Subject: [PATCH] logins should persist now --- index.js | 14 ++++++++------ package-lock.json | 10 +++++++++- package.json | 1 + react-ui/package-lock.json | 8 ++++---- 4 files changed, 22 insertions(+), 11 deletions(-) diff --git a/index.js b/index.js index 69fa87ed4..8656eb5be 100644 --- a/index.js +++ b/index.js @@ -3,6 +3,7 @@ const { ApolloServer } = require("apollo-server-express") const mongoose = require("mongoose") const express = require("express") const session = require("express-session") +const MongoStore = require("connect-mongo")(session) const cors = require("cors") const passport = require("passport") const DiscordStrategy = require("passport-discord").Strategy @@ -24,14 +25,14 @@ passport.use( clientID: process.env.CLIENT_ID, clientSecret: process.env.CLIENT_SECRET, callbackURL, - scope: ["identify", "connections"] + scope: ["identify", "connections"], }, function(accessToken, refreshToken, profile, cb) { const userToSave = { username: profile.username, discriminator: profile.discriminator, avatar: profile.avatar, - discord_id: profile.id + discord_id: profile.id, } for (var i = 0; i < profile.connections.length; i++) { const connection = profile.connections[i] @@ -72,7 +73,7 @@ mongoose .connect(process.env.MONGODB_URI, { useNewUrlParser: true, dbName: "production", - useUnifiedTopology: true + useUnifiedTopology: true, }) .then(() => { console.log("connected to MongoDB") @@ -85,7 +86,7 @@ const server = new ApolloServer({ schema, context: ({ req }) => { return { user: req.user } - } + }, }) const app = express() @@ -114,7 +115,8 @@ let sess = { secret: process.env.SESSION_SECRET, resave: false, saveUninitialized: false, - cookie: {} + cookie: { maxAge: 15768000000 }, + store: new MongoStore({ mongooseConnection: mongoose.connection }), } if (process.env.NODE_ENV === "production") { @@ -136,7 +138,7 @@ app.get("/auth/discord", passport.authenticate("discord")) app.get( "/auth/discord/callback", passport.authenticate("discord", { - failureRedirect: "/404" + failureRedirect: "/404", }), function(req, res) { res.redirect("/u/" + req.user.discord_id) // Successful auth diff --git a/package-lock.json b/package-lock.json index 2628acaaa..e8aa03a72 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "sendou-ink", - "version": "1.0.0", + "version": "2.0.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -904,6 +904,14 @@ "xdg-basedir": "^3.0.0" } }, + "connect-mongo": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/connect-mongo/-/connect-mongo-3.1.2.tgz", + "integrity": "sha512-UBHOk+T3pj1nTDIb75y/m45sWDt2j9B9nG7C4RkvxGUmK7nA8kAH9lD9FgK06MrKiBTwV25rzXPbGk9yTURzfw==", + "requires": { + "mongodb": "^3.1.0" + } + }, "content-disposition": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", diff --git a/package.json b/package.json index 2576c80e8..1637d6cdb 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "apollo-server-express": "^2.9.7", "axios": "^0.19.0", "btoa": "^1.2.1", + "connect-mongo": "^3.1.2", "cors": "^2.8.5", "dotenv": "^8.2.0", "express-session": "^1.17.0", diff --git a/react-ui/package-lock.json b/react-ui/package-lock.json index 269652850..0f707bfc8 100644 --- a/react-ui/package-lock.json +++ b/react-ui/package-lock.json @@ -1,6 +1,6 @@ { "name": "sendou-ink-react-ui", - "version": "2.0.0", + "version": "2.0.1", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -6166,9 +6166,9 @@ "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==" }, "handlebars": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.5.1.tgz", - "integrity": "sha512-C29UoFzHe9yM61lOsIlCE5/mQVGrnIOrOq7maQl76L7tYPCgC1og0Ajt6uWnX4ZTxBPnjw+CUvawphwCfJgUnA==", + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.5.2.tgz", + "integrity": "sha512-29Zxv/cynYB7mkT1rVWQnV7mGX6v7H/miQ6dbEpYTKq5eJBN7PsRB+ViYJlcT6JINTSu4dVB9kOqEun78h6Exg==", "requires": { "neo-async": "^2.6.0", "optimist": "^0.6.1",