21.08.19 16:05 작성
·
124
0
안녕하세요.
로컬에서 작업 후 https 적용한 ec2 로 에서 테스트 중인데요.
쿠키가 생성된 것은 맞는 거 같은데 application 탭에는 쿠키가 없네요ㅠㅠ 그래서 소셜 로그인을 한 후에도
쿠키 공유가 되지 않고 있는 것 같습니다.. deserialize 가 실행이 안되는데 쿠키가 전달이 안되어서 그런 거겠죠?
오늘 오전부터 이것때문에 헤매는데 어느 부분이 문제인지 잘 찾아지지가 않네요
back/app.js
if (process.env.NODE_ENV === 'production') {
app.enable('trust proxy');
app.use(morgan('combined'));
app.use(hpp());
app.use(helmet({ contentSecurityPolicy: false }));
app.use(
cors({
origin: frontUrl,
credentials: true,
}),
);
} else {
app.use(morgan('dev'));
app.use(
cors({
origin: true,
credentials: true,
}),
);
}
...
app.use('/', express.static(path.join(__dirname, 'uploads')));
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use(cookieParser(process.env.COOKIE_SECRET));
app.use(
session({
saveUninitialized: false,
resave: false,
secret: process.env.COOKIE_SECRET,
cookie: {
httpOnly: true,
secure: true,
domain: process.env.NODE_ENV === 'production' && '.filer.pro',
},
}),
);
답변 1
0
2021. 08. 19. 16:06
프론트 서버랑 백엔드 서버 도메인이 다른가요? 도메인이 다르면 쿠키 공유가 어렵습니다.
도메인이 같다면 프론트에서 withCredentials 옵션 주셨는지 확인해보세요.
2021. 08. 19. 19:07
아래 사진처럼 콜백이 http 랑 https 두개에 가길래 저게 문제인가해서
카카오 redirect url 에 가서 http 로 등록해두었던 콜백 주소를 지워주고 하니까 아예 오류가 나는데요.
그래서 다시 http 콜백주소도 등록해뒀습니다.
저건 쿠키공유 문제랑 상관이 없는 게 맞겠죠?
2021. 08. 19. 19:45
로컬에서 카카오랑 네이버 로그인 다 실행이 되고 전혀 문제가 없는데요 ㅠㅠ
front 와 back url 바꿔주고 cookie 옵션 secure : true 로만 바꾼 상태에서
aws 로 git pull 했거든요.
그랬을 때 윗 댓글의 사진과 같은 상태인데 저 사진 상태라면 아예 쿠키가 생성이 안된 게 맞나요?
2021. 08. 19. 19:04
AWS에 배포하기 - 도메인 연결하기 수업에 나온 그대로 했는데 그러면 도메인이
같은 거 맞나요? 프론트에 withCredentials 옵션도 true 가 되어있는데 안되네요 ..