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