-
Notifications
You must be signed in to change notification settings - Fork 3
/
index.js
78 lines (68 loc) · 2.46 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
const express = require("express");
const app = express();
const {connection} = require("./config/db");
require("dotenv").config();
const cors = require("cors");
const path = require("path");
const privateKey = process.env.privateKey;
const rprivateKey = process.env.rprivateKey;
const {passport} = require("./config/google-oauth");
const jwt = require('jsonwebtoken');
const {meetingRouter} = require("./router/meetings.router")
const bodyParser = require("body-parser");
const {client} = require("./config/redis")
const {userRouter} = require("./router/user.router")
const { createServer } = require('http');
const { getIO, initIO } = require('./config/socket');
// const { passport2 } = require("./config/microsoft-oauth");
app.use(bodyParser.urlencoded({ extended: true }));
app.use(cors());
app.use(express.json());
app.set('views', __dirname + '/public');
app.set('view engine', 'ejs');
// app.use(passport2.initialize());
app.use(express.static("./public"))
app.get("/", (req, res) => {
res.sendFile(path.resolve(__dirname, "public", "index.html", "signup.html"));
});
app.use("/meeting", meetingRouter);
app.use("/user", userRouter);
app.get('/auth/google',
passport.authenticate('google', { scope: ['profile','email'] }));
app.get('/auth/google/callback',
passport.authenticate('google', { failureRedirect: '/login',session:false }),
function(req, res) {
// Successful authentication, redirect home.
const token = jwt.sign({ user_id: req.user._id }, privateKey, { expiresIn: 60*60 });
const rtoken = jwt.sign({ user_id: req.user._id }, rprivateKey, { expiresIn: 60*60*7 });
res.redirect(`/?token=${token}&rtoken=${rtoken}`);
});
// app.get(
// "/auth/microsoft",
// passport2.authenticate("azure_oauth2", { scope: ["profile", "email"] })
// );
// app.get(
// "/auth/microsoft/callback",
// passport2.authenticate("azure_oauth2", { failureRedirect: "/login" }),
// (req, res) => {
// const token = jwt.sign({ user_id: req.user._id }, privateKey, {
// expiresIn: 60,
// });
// const rtoken = jwt.sign({ user_id: req.user._id }, rprivateKey, {
// expiresIn: 300,
// });
// res.redirect(`/?token=${token}&rtoken=${rtoken}`);
// }
// );
const httpServer = createServer(app);
initIO(httpServer);
httpServer.listen(process.env.PORT, async () => {
try {
await connection;
console.log("connected to DB");
} catch (error) {
console.log(error.message);
}
console.log("listening on *:" + process.env.PORT);
});
getIO();