logins should persist now

This commit is contained in:
Sendou 2019-11-18 00:11:36 +02:00
parent 3ad4f3355e
commit 2954af1475
4 changed files with 22 additions and 11 deletions

View File

@ -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

10
package-lock.json generated
View File

@ -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",

View File

@ -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",

View File

@ -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",