From a130bb41636fb1a8ab0486a66bacc3b34d597147 Mon Sep 17 00:00:00 2001
From: NaHyun22 <nhle0217@ajou.ac.kr>
Date: Sun, 8 Dec 2024 00:41:06 +0900
Subject: [PATCH] =?UTF-8?q?refector:=20=EC=BD=94=EB=93=9C=20=EC=A0=95?=
 =?UTF-8?q?=EB=A6=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 app.js                       | 100 +++++++++--------------------------
 config/passport.js           |   3 +-
 middleware/authMiddleware.js |   1 -
 3 files changed, 27 insertions(+), 77 deletions(-)

diff --git a/app.js b/app.js
index c09797a..6e0c469 100644
--- a/app.js
+++ b/app.js
@@ -1,87 +1,48 @@
 const express = require('express');
 const app = express();
-
 const mongoose = require('mongoose');
 const cors = require('cors');
-app.use(express.urlencoded({ extended: false }));
 const passport = require('./config/passport');
-
-app.use(passport.initialize());
-//const session = require('express-session');
 const jwt = require('jsonwebtoken');
-require('dotenv').config();
-const secretKey = process.env.JWT_SECRET; // 실제 환경에서는 환경 변수로 관리하세요.
-
 const http = require('http');
 const WebSocketServer = require('./WebSocket');
-
-//middleware
-app.use(cors({
-    origin: "http://localhost:3000",
-    credentials: true,
-}));
-//비밀번호 변경 라우트 등록
-// const passwordRoutes = require('./route/conf_password');
-// //닉네임 변경 라우트 등록
-// const confNameRoutes = require('./route/conf_name.js');
-// //회원 탈퇴 라우트 등록
-// const deleteUser = require('./route/del_user');
-// //비밀번호 암호화용 모듈
 const bcrypt = require('bcrypt');
-//User define
+require('dotenv').config();
+
+// Models
 const User = require('./models/user');
-//Trip define
 const Trip = require('./models/trips');
-//Favorite define
 const Favorite = require('./models/favorite');
 
-// JSON 요청 본문을 파싱하는 미들웨어 추가
-app.use(express.json());
-//비밀번호 변경 라우트 추가
-// app.use('/conf_password',passwordRoutes);
-// //이름 변경 라우트
-// app.use('/conf_name', confNameRoutes);
-// //회원 탈퇴 라우트
-// app.use('/del_user', deleteUser); 
-//사용자 관리 라우트
-const userManagementRoutes = require('./route/userManagement');
-app.use('/userManagement', userManagementRoutes);
-//여행 라우트
-const tripRoutes = require('./route/tripRoute'); // 라우트 파일 경로
 // Routes
-app.use('/api/trips', tripRoutes);
-//리뷰 라우트
-const reviewRoutes = require('./route/review'); // 라우트 파일 경로
-app.use('/api/review', reviewRoutes);
-//dotenv
-require('dotenv').config();
-//favorite 라우트
-const favoriteRoutes = require('./route/favorites'); // 라우트 파일 경로
-app.use('/favorites', favoriteRoutes);
+const userManagementRoutes = require('./route/userManagement');
+const tripRoutes = require('./route/tripRoute');
+const reviewRoutes = require('./route/review');
+const favoriteRoutes = require('./route/favorites');
 
+// Middleware
 const authenticateToken = require('./middleware/authMiddleware.js');
 
-// 보호된 라우트에 미들웨어 적용
-// app.use('/conf_password', authenticateToken, passwordRoutes);
-// app.use('/conf_name', authenticateToken, confNameRoutes);
-// app.use('/del_user', authenticateToken, deleteUser);
+// Middleware Setup
+app.use(cors({
+    origin: "http://localhost:3000",
+    credentials: true,
+}));
+app.use(express.json());
+app.use(express.urlencoded({ extended: false }));
+app.use(passport.initialize());
 
+// Routes Setup
 app.use('/userManagement', authenticateToken, userManagementRoutes);
+app.use('/api/trips', tripRoutes);
+app.use('/api/review', reviewRoutes);
+app.use('/favorites', favoriteRoutes);
 
-//확인
+// Environment Variables Check
 console.log('GOOGLE_CLIENT_ID:', process.env.GOOGLE_CLIENT_ID);
 console.log('GOOGLE_CLIENT_SECRET:', process.env.GOOGLE_CLIENT_SECRET);
 
-
-// // MongoDB 연결
-// mongoose.connect('mongodb://localhost:27017/logininfo', {
-//     useNewUrlParser: true,
-//     useUnifiedTopology: true,
-// }).then(() => console.log('MongoDB 연결 성공'))
-//   .catch(err => console.error('MongoDB 연결 오류:', err));
-
-// application/x-www-form-urlencoded
-app.use(express.urlencoded({ extended: false }));
+const secretKey = process.env.JWT_SECRET;
 
 // db connect
 mongoose
@@ -113,7 +74,7 @@ app.get('/googlelogin',
     passport.authenticate('google', { scope: ['profile', 'email'], session: false })
 );
 
-//jwt 전--------------------------------------
+//세션 로그인--------------------------------------
 // app.get('/googlelogin/redirect',
 //     passport.authenticate('google', { failureRedirect: '/' }),
 //     (req, res) => {
@@ -130,7 +91,7 @@ app.get('/googlelogin',
 // );
 //----------------------------------------------
 
-//jwt 후-----------------------------------------
+//jwt-----------------------------------------
 app.get('/googlelogin/redirect',
     passport.authenticate('google', { failureRedirect: '/', session: false }),
     (req, res) => {
@@ -159,6 +120,7 @@ app.get('/googlelogin/redirect',
 
 // 로그아웃
 app.get('/logout', (req, res) => {
+    //세션 로그인
     // req.logout((err) => {
     //     if (err) { return next(err); }
     //     res.redirect('/');
@@ -169,7 +131,7 @@ app.get('/logout', (req, res) => {
 
 // 대시보드
 app.get('/dashboard', authenticateToken, (req, res) => {
-
+    //세션 로그인
     //const hasPassword = !!req.user.password; // 비밀번호가 있는지 확인
     //const userName = req.user.name || req.user.email || 'Guest';
 
@@ -183,16 +145,6 @@ app.get('/dashboard', authenticateToken, (req, res) => {
     `);
 });
 
-// // 홈
-// app.get('/', (req, res) => {
-//     res.send(`
-//         <h1>Google OAuth Login</h1>
-//         <a href="/googlelogin">Login with Google</a>
-//     `);
-// });
-
-
-
 //session
 // app.get('/conf_password', (req, res) => {
 
diff --git a/config/passport.js b/config/passport.js
index 69eb532..609e333 100644
--- a/config/passport.js
+++ b/config/passport.js
@@ -9,7 +9,7 @@ passport.use(new GoogleStrategy({
     clientID: process.env.GOOGLE_CLIENT_ID,
     clientSecret: process.env.GOOGLE_CLIENT_SECRET,
     callbackURL: `http://localhost:${process.env.PORT}/googlelogin/redirect`
-}, async (accessToken, refreshToken, profile, done) => {
+}, async (_, __, profile, done) => {
     const { id, displayName, emails} = profile;
     try {
         // 사용자가 존재하는지 확인
@@ -20,7 +20,6 @@ passport.use(new GoogleStrategy({
                 googleId: id,
                 displayName,
                 email: emails[0].value,
-                //profilePicture: photos[0].value
             });
         }
         done(null, user);
diff --git a/middleware/authMiddleware.js b/middleware/authMiddleware.js
index a40fc71..84725c9 100644
--- a/middleware/authMiddleware.js
+++ b/middleware/authMiddleware.js
@@ -1,4 +1,3 @@
-// authMiddleware.js
 const jwt = require('jsonwebtoken');
 require('dotenv').config();
 const secretKey = process.env.JWT_SECRET;
-- 
GitLab