This commit is contained in:
CorwinDev committed 2022-07-30 16:19:58 +02:00
1 parent 900a4f65da
commit be8c70ab94
7 files changed
+118 -13

No files matched your search

+3 -2
View File
@@ -9,12 +9,13 @@ const client = new Client({
GatewayIntentBits.GuildMessageReactions,
GatewayIntentBits.GuildMessageTyping,
GatewayIntentBits.DirectMessages,
]
});
client.config = require('../config');
// Set intents
client.on('ready', () => {
console.log('Bot is ready!');
});
// Login
client.login(process.env.BOT_TOKEN);
client.login(client.config.bot.token);
+1 -1
View File
@@ -1,5 +1,5 @@
module.exports = {
"mongodb": "mongodb+srv://root:RzIhDff90LKkOOjw@cluster0.jo9hd.mongodb.net/?retryWrites=true&w=majority",
"bot": {
"token": "OTM0MDg3NTIzNjQ5NjA5NzY4.GV-g1-.Eggw57JNtsrLPbakg-_yr8fn8oBAbh0nKfK-lk"
}
+3 -1
View File
@@ -3,10 +3,12 @@ const bot = require('./bot');
const website = require('./website');
// Import config and export
const config = require('./config');
const mongoose = require('mongoose');
// Connect to mongoDB
try {
mongoose.connect(config.mongoDB.url);
mongoose.connect(config.mongodb);
} catch (err) {
console.log(err);
console.log('Error connecting to mongoDB');
process.exit(1);
}
+82 -1
View File
@@ -13,7 +13,8 @@
"express": "^4.18.1",
"express-session": "^1.17.3",
"mongoose": "^6.5.0",
"passport": "^0.6.0"
"passport": "^0.6.0",
"passport-discord": "^0.1.4"
}
},
"node_modules/@discordjs/builders": {
@@ -155,6 +156,14 @@
}
]
},
"node_modules/base64url": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz",
"integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==",
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/body-parser": {
"version": "1.20.0",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz",
@@ -750,6 +759,11 @@
"node": ">= 0.6"
}
},
"node_modules/oauth": {
"version": "0.9.15",
"resolved": "https://registry.npmjs.org/oauth/-/oauth-0.9.15.tgz",
"integrity": "sha512-a5ERWK1kh38ExDEfoO6qUHJb32rd7aYmPHuyCu3Fta/cnICvYmgd2uhuKXvPD+PXB+gCEYYEaQdIRAjCOwAKNA=="
},
"node_modules/object-inspect": {
"version": "1.12.2",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
@@ -802,6 +816,33 @@
"url": "https://github.com/sponsors/jaredhanson"
}
},
"node_modules/passport-discord": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/passport-discord/-/passport-discord-0.1.4.tgz",
"integrity": "sha512-VJWPYqSOmh7SaCLw/C+k1ZqCzJnn2frrmQRx1YrcPJ3MQ+Oa31XclbbmqFICSvl8xv3Fqd6YWQ4H4p1MpIN9rA==",
"dependencies": {
"passport-oauth2": "^1.5.0"
}
},
"node_modules/passport-oauth2": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/passport-oauth2/-/passport-oauth2-1.6.1.tgz",
"integrity": "sha512-ZbV43Hq9d/SBSYQ22GOiglFsjsD1YY/qdiptA+8ej+9C1dL1TVB+mBE5kDH/D4AJo50+2i8f4bx0vg4/yDDZCQ==",
"dependencies": {
"base64url": "3.x.x",
"oauth": "0.9.x",
"passport-strategy": "1.x.x",
"uid2": "0.0.x",
"utils-merge": "1.x.x"
},
"engines": {
"node": ">= 0.4.0"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/jaredhanson"
}
},
"node_modules/passport-strategy": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz",
@@ -1156,6 +1197,11 @@
"node": ">= 0.8"
}
},
"node_modules/uid2": {
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.4.tgz",
"integrity": "sha512-IevTus0SbGwQzYh3+fRsAMTVVPOoIVufzacXcHPmdlle1jUpq7BRL+mw3dgeLanvGZdwwbWhRV6XrcFNdBmjWA=="
},
"node_modules/undici": {
"version": "5.8.0",
"resolved": "https://registry.npmjs.org/undici/-/undici-5.8.0.tgz",
@@ -1336,6 +1382,11 @@
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
},
"base64url": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz",
"integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A=="
},
"body-parser": {
"version": "1.20.0",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz",
@@ -1776,6 +1827,11 @@
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
"integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="
},
"oauth": {
"version": "0.9.15",
"resolved": "https://registry.npmjs.org/oauth/-/oauth-0.9.15.tgz",
"integrity": "sha512-a5ERWK1kh38ExDEfoO6qUHJb32rd7aYmPHuyCu3Fta/cnICvYmgd2uhuKXvPD+PXB+gCEYYEaQdIRAjCOwAKNA=="
},
"object-inspect": {
"version": "1.12.2",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
@@ -1809,6 +1865,26 @@
"utils-merge": "^1.0.1"
}
},
"passport-discord": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/passport-discord/-/passport-discord-0.1.4.tgz",
"integrity": "sha512-VJWPYqSOmh7SaCLw/C+k1ZqCzJnn2frrmQRx1YrcPJ3MQ+Oa31XclbbmqFICSvl8xv3Fqd6YWQ4H4p1MpIN9rA==",
"requires": {
"passport-oauth2": "^1.5.0"
}
},
"passport-oauth2": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/passport-oauth2/-/passport-oauth2-1.6.1.tgz",
"integrity": "sha512-ZbV43Hq9d/SBSYQ22GOiglFsjsD1YY/qdiptA+8ej+9C1dL1TVB+mBE5kDH/D4AJo50+2i8f4bx0vg4/yDDZCQ==",
"requires": {
"base64url": "3.x.x",
"oauth": "0.9.x",
"passport-strategy": "1.x.x",
"uid2": "0.0.x",
"utils-merge": "1.x.x"
}
},
"passport-strategy": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz",
@@ -2061,6 +2137,11 @@
"random-bytes": "~1.0.0"
}
},
"uid2": {
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.4.tgz",
"integrity": "sha512-IevTus0SbGwQzYh3+fRsAMTVVPOoIVufzacXcHPmdlle1jUpq7BRL+mw3dgeLanvGZdwwbWhRV6XrcFNdBmjWA=="
},
"undici": {
"version": "5.8.0",
"resolved": "https://registry.npmjs.org/undici/-/undici-5.8.0.tgz",
+2 -1
View File
@@ -29,6 +29,7 @@
"express": "^4.18.1",
"express-session": "^1.17.3",
"mongoose": "^6.5.0",
"passport": "^0.6.0"
"passport": "^0.6.0",
"passport-discord": "^0.1.4"
}
}
+19 -4
View File
@@ -6,6 +6,11 @@ const path = require('path');
const mongoose = require('mongoose');
const session = require('express-session');
const passport = require('passport');
var DiscordStrategy = require('passport-discord').Strategy;
var bot = require('./routers/bot');
var admin = require('./routers/admin');
var auth = require('./routers/auth');
// set up session
app.use(session({
secret: 'secret',
@@ -13,13 +18,23 @@ app.use(session({
saveUninitialized: false
}));
// Import routers
var bot = require('./routers/bot');
app.use('/bot', bot);
var admin = require('./routers/admin');
app.use('/admin', admin);
var auth = require('./routers/auth');
app.use('/auth', auth);
var scopes = ['identify', 'email', 'guilds', 'guilds.join'];
passport.use(new DiscordStrategy({
clientID: 'id',
clientSecret: 'secret',
callbackURL: 'callbackURL',
scope: scopes
},
function (accessToken, refreshToken, profile, cb) {
User.findOrCreate({ discordId: profile.id }, function (err, user) {
return cb(err, user);
});
}));
// use passport for authentication
app.use(passport.initialize());
app.use(passport.session());
@@ -33,5 +48,5 @@ app.get('/', (req, res) => {
});
app.listen(port, () => {
console.log('Your app is listening on port ' + listener.address().port);
console.log('Your app is listening on port ' + port);
});
+8 -3
View File
@@ -1,7 +1,12 @@
var express = require('express'),
router = express.Router();
router = express.Router();
passport = require('passport');
router.get('/', function () {
})
router.get('/', passport.authenticate('discord'));
router.get('/auth/discord/callback', passport.authenticate('discord', {
failureRedirect: '/'
}), function (req, res) {
res.redirect('/secretstuff') // Successful auth
});
module.exports = router;