diff --git a/app.js b/app.js
index 594bdab5e304ddf4ddd50580d1fe1d1d557b4456..1841e8c6b62a0e6775f02957149ac40c1e651885 100644
--- a/app.js
+++ b/app.js
@@ -55,7 +55,7 @@ app.use(passport.session());
 app.use(flash());
 
 
-app.set('trust proxy', 1);
+//app.set('trust proxy', 1);
 console.log('MongoDB URI:', process.env.MONGO_URI);
 //라우터 등록 
 const authRoutes = require('./routes/auth');
diff --git a/middlewares/auth.js b/middlewares/auth.js
index afc74eaad5520ace4dbb2b36a9a644cec88e8387..315edee527c5ca2ee1d9dbbb00ac915838b01e27 100644
--- a/middlewares/auth.js
+++ b/middlewares/auth.js
@@ -1,15 +1,16 @@
 // middlewares/auth.js
-
-exports.isLoggedIn = (req, res, next) => { //로그인된 사용자자만 접근허용
+exports.isLoggedIn = (req, res, next) => { // 로그인된 사용자만 접근 허용
   if (req.isAuthenticated()) {
     return next();
   }
-  res.redirect('/auth/login');
+  // 리다이렉트 대신 401 Unauthorized 상태 반환
+  res.status(401).json({ error: '로그인 되지않은 사용자' });
 };
 
-exports.isNotLoggedIn = (req, res, next) => { //로그인 안되면 리다이렉트 
+exports.isNotLoggedIn = (req, res, next) => { // 로그인 안된 사용자만 접근 허용
   if (!req.isAuthenticated()) {
     return next();
   }
-  res.redirect('/');
-};
+  // 리다이렉트 대신 400 Bad Request 상태 반환 (필요에 따라 변경 가능)
+  res.status(400).json({ error: '이미 로그인된' });
+};
\ No newline at end of file
diff --git a/passport/googleStrategy.js b/passport/googleStrategy.js
index cd23c9d71bce1b6ef26e59ee92bb8d3d3ef1f829..f6698b36fab68e39e1d5b078802a20e197594797 100644
--- a/passport/googleStrategy.js
+++ b/passport/googleStrategy.js
@@ -1,15 +1,15 @@
 // passport/googleStrategy.js
-
 const { Strategy: GoogleStrategy } = require('passport-google-oauth20');
-const User = require('../models/user');
+const User = require('../models/user'); 
 
 module.exports = new GoogleStrategy(
   {
     clientID: process.env.GOOGLE_CLIENT_ID,
     clientSecret: process.env.GOOGLE_CLIENT_SECRET,
     callbackURL: process.env.CALLBACK_URL,
+    passReqToCallback: true, // req 객체를 콜백에 전달
   },
-  async (accessToken, refreshToken, profile, done) => {
+  async (req, accessToken, refreshToken, profile, done) => {
     try {
       // 프로필에서 사용자 정보 추출
       const email = profile.emails[0].value;
@@ -23,7 +23,7 @@ module.exports = new GoogleStrategy(
 
       return done(null, user);
     } catch (err) {
-      return done(err);
+      return done(err, null);
     }
   }
 );
diff --git a/routes/auth.js b/routes/auth.js
index 658305911f7cb27e6573dfac091b0d051c3c8ec5..186b15d2074cc30200de1f2e047fb6a8ef93646e 100644
--- a/routes/auth.js
+++ b/routes/auth.js
@@ -12,11 +12,10 @@ router.get(
   })
 );
 
-// Google OAuth 콜백 라우터
 router.get(
   '/google/callback',
   passport.authenticate('google', {
-    failureRedirect: '/auth/login'
+    failureRedirect: `${process.env.FRONT_URL}/login` // 수정된 부분
   }),
   (req, res) => {
     const redirectUrl = process.env.FRONT_URL;
diff --git a/routes/session.js b/routes/session.js
new file mode 100644
index 0000000000000000000000000000000000000000..77a3b118a8050b3167a10494921698230699b5b6
--- /dev/null
+++ b/routes/session.js
@@ -0,0 +1,26 @@
+const express = require('express');
+const router = express.Router();
+
+// GET /api/session/info
+router.get('/info', (req, res) => {
+  if (req.user) {
+    const { email, name } = req.user;
+  // 캐싱 비활성화
+    res.set('Cache-Control', 'no-store');
+    res.set('Pragma', 'no-cache');        
+    return res.status(200).json({
+      user: {
+        email,
+        name,
+      },
+    });
+  }
+  // 세션이 만료되었거나 사용자 정보가 없는 경우
+  res.set('Cache-Control', 'no-store');
+  res.set('Pragma', 'no-cache');
+  res.status(401).json({
+    message: '세션이 만료되었거나 사용자 정보가 없습니다.',
+  });
+});
+
+module.exports = router;
\ No newline at end of file