-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.js
95 lines (81 loc) · 2.58 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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
const express = require('express');
const passport = require('passport');
const session = require('express-session');
const cookieParser = require('cookie-parser');
const cors = require('cors');
// If process.env.NODE_ENV is not defined, check .env file
if (!process.env.NODE_ENV) {
console.log('NODE_ENV not defined, checking .env file');
require('dotenv').config();
}
const app = express();
// Configuration
const SECRET_KEY = 'aABA7q9lloZR331FtT9q8jWbJQWXQt7F';
const STEAM_API_KEY = 'C1FE80472F4FA401E9BF38E195EB8677';
const HOST = 'https://auth.palominorp.com';
app.set('view engine', 'pug');
app.set('views', './src/views');
// json parser
const corsOptions = {
origin: [
'http://loopback.gmod:3000',
'http://loopback.gmod:3030',
'http://loopback.gmod:8080',
'http://localhost:3000',
'http://localhost:3030',
'http://localhost:8080',
'https://papi-staging.palominorp.com',
'https://papi.palominorp.com',
'https://pal-os.palominorp.com',
'https://auth.palominorp.com',
],
credentials: true,
}
app.use(cors(corsOptions));
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use(cookieParser());
// Set up session
app.use(session({
secret: 'zZdaAFVFMbqC32Q01P16L9Fr',
resave: false,
saveUninitialized: false,
cookie: {
secure: process.env.NODE_ENV === 'production',
httpOnly: true,
// sameSite: 'None' // important for cross-site cookies
}
}));
// Initialize Passport
app.use(passport.initialize());
app.use(passport.session());
passport.serializeUser((user, done) => {
done(null, user);
});
passport.deserializeUser((obj, done) => {
done(null, obj);
});
// const sequelize = require('./src/services/db');
// Initialize and use web client routes
const { initializeRouter: initializeWebClientRouter } = require('./src/routes/webclient');
const webClientRouter = initializeWebClientRouter({
secretKey: SECRET_KEY,
host: HOST,
steamApiKey: STEAM_API_KEY,
allowedRedirectDomains: [
'http://localhost:3000',
'http://localhost:3030',
'https://papi.palominorp.com',
'https://pal-os.palomino.gg',
'https://auth.palominorp.com',
]
});
app.use('/webclient', webClientRouter);
const { initializeRouter: initializePlayerRouter } = require('./src/routes/player');
const playerRouter = initializePlayerRouter({
secretKey: SECRET_KEY,
host: HOST
});
app.use('/player', playerRouter);
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => console.log(`Server running on port ${PORT}`));