-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathapp.js
More file actions
48 lines (42 loc) · 1.58 KB
/
app.js
File metadata and controls
48 lines (42 loc) · 1.58 KB
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
const express = require('express');
const app = express();
const session = require('express-session');
const cookieParser = require('cookie-parser');
const RedisStore = require('connect-redis').default; // 세션을 매개변수로 전달해 호출
const redisClient = require('./config/redis-client'); // redisClient.js에서 가져옴
const cors = require('cors');
app.use(express.json());
app.use(cookieParser());
// 세션 설정
app.use(session({
name: 'SESSIONID',
store: new RedisStore({ client: redisClient }), // Redis 세션 저장소 사용
secret: process.env.SESSION_SECRET,
resave: false,
saveUninitialized: false,
cookie: {
httpOnly: true,
secure: false,
maxAge: 1000 * 60 * 30
}
}));
const {sequelize} = require('./models');
sequelize.sync({ force: false })
.then(() => console.log('데이터베이스 연결 성공'))
.catch(err => console.error(err));
// 토큰 라우터 설정
const tokenRouter = require('./routes/token-router');
const nftRouter = require('./routes/nft-router');
app.use('/block-chain/token', tokenRouter);
app.use('/block-chain/nfts', nftRouter);
// cors 설정
// app.use(cors({
// origin: 'http://yourfrontenddomain.com', // 특정 도메인만 허용
// methods: ['GET', 'POST', 'PATCH', 'DELETE', 'OPTIONS'],
// allowedHeaders: ['Content-Type', 'Authorization', 'X-Requested-With', 'Cookie'], // 허용할 헤더 목록
// credentials: true
// }));
// 서버 시작
app.listen(process.env.PORT || 3001, () => {
console.log(`Unirun blockchain server: ${process.env.PORT || 3001} port`);
});