안녕하세요! CORS 에러 및 로그인 issue 질문드립니다.
791
작성한 질문수 5
안녕하세요!
1. 도메인 연결 후 로그인 CORS error가 나서 cors 관련 코드를 다시 확인해보았는데 제로초님과 동일하게 작성되어 있고, store/users.js file에도 credential: true 가 빠짐없이 적혀있는데, 어디서부터 검토를 해봐야 할지 알려주시면 감사하겠습니다.




2. 디버깅 중에 혹시 로컬 서버에도 문제가 있는지 체크하던 중에, 네트워크나 화면상에서는 큰 이슈가 없어 보였던 로컬 서버에서사실 에러가 있었던 것을 발견했습니다. 이 부분도 혹시 어디서 실마리를 찾을 수 있을지, 더 살펴봐야 할 것은 무엇인지 알려주신다면 감사하겠습니다!




답변 15
1
cors 모듈에서 prod 변수에 따라 cors 설정이 달라지는데 NODE_ENV가 production이 맞는지 확인해보세요. 제 생각에는 설정이 안 되어있을 것 같습니다.
401 Get /user는 로그인되지 않은 상태로 내 정보를 가져오는 요청을 할 때 발생하는 에러라서 발생해도 큰 문제는 없습니다.
0
아, 제로초님, 드디어 해결되었어요! mySQL 데이터를 다 지우고 초기화 시키고 다시 했더니 거짓말처럼 작동하네요. 포기하지 않고 도와주셔서 감사해요:)
0
app.js 파일입니다. 혹시 credentials때문에 그런거 아닌가 해서 cors 부분을 withCredential로 바꾸어봤어요.
const express = require('express');
const cors = require('cors');
const passport = require('passport');
const session = require('express-session');
const cookie = require('cookie-parser');
const morgan = require('morgan');
const hpp = require('hpp');
const helmet = require('helmet');
const dotenv = require('dotenv');
const prod = process.env.NODE_ENV === 'production';
const db = require('./models');
const passportConfig = require('./passport');
const userRouter = require('./routes/user');
const postRouter = require('./routes/post');
const postsRouter = require('./routes/posts');
const hashtagRouter = require('./routes/hashtag');
const app = express();
dotenv.config();
db.sequelize.sync();
passportConfig();
if(prod) {
app.use(helmet());
app.use(hpp());
app.use(morgan('combined'));
app.use(cors({
origin: 'http://simplestory.ga',
withCredentials: true,
}));
} else {
app.use(morgan('dev'))
app.use(cors({
origin: 'http://localhost:3080',
withCredentials: true,
}));
}
app.use('/', express.static('uploads'));
app.use(express.json());
app.use(express.urlencoded({extended: false}));
app.use(cookie(process.env.COOKIE_SECRET));
app.use(session({
resave: false,
saveUninitialized: false,
secret: process.env.COOKIE_SECRET,
cookie: {
httpOnly: true,
secure: false,
domain: prod && '.simplestory.ga',
},
}));
app.use(passport.initialize());
app.use(passport.session());
app.get('/', (req, res) => {
res.status(200).send("New express app");
})
app.use('/user', userRouter);
app.use('/post', postRouter);
app.use('/posts', postsRouter);
app.use('/hashtag', hashtagRouter);
app.listen(prod? process.env.PORT : 3085, () => {
console.log(process.env.PORT)
console.log(`backend ${prod ? process.env.PORT : 3085} is ready`);
});
0
아, 정말 오랫동안 고민했는데 답변주셔서 감사합니다!
강의에서 알려주신대로 package.json에서 NODE_ENV를 production으로 변경했다고 생각했는데 app.js에 console.log를 찍어보니 NODE_ENV가 undefined가 나오네요. 제가 잘못 생각한 것이 있을까요?

npm run dev 할 때 에러가 발생합니다.
0
143
1
해당 강의는 리뉴얼 예정은 따로 없나요?
0
326
1
강의는 언제까지 업데이트 된 내용인가요?
0
328
2
실습 환경 문의(Node 버전)
0
363
1
로그인 새로고침시 풀림
0
289
1
안녕하세요! 로그인 유지 질문 드립니다!
0
401
1
웹 서버 관련해서 질문드립니다.
0
439
1
버전때매 질문 드립니다!!
0
311
1
이 강의는 vue3는 아닌가요??
0
370
1
vsCode에 관한 질문입니다
0
486
1
v.trim()이 타입에러가 뜹니다...
0
341
1
express.static('uploads')
0
340
2
STRING이 인식이 안되는데 이유알수있을까요?
0
444
2
<v-lsit-item-title> 에러
0
406
2
vue cli 를 실무에서도 사용하지 않으시나요?
0
317
1
선생님 처음 환경 셋팅 관련 문의드립니다.
0
383
1
nuxtServerInit 무한 로딩
0
971
3
Nginx Cookie 설정
0
720
2
상태가 204번인경우에는 어떻게 처리를 해야하나요?
0
290
1
선생님 nuxt 관련질문드립니다.
0
347
1
인덱스 비교로 삭제해도 될까요?
0
378
1
질문 드립니다!
0
326
2
안녕하세요
0
220
1
궁금한점이있습니다
0
230
1











