인프런 커뮤니티 질문&답변

hyoloui님의 프로필 이미지

작성한 질문수

Next + React Query로 SNS 서비스 만들기

next-auth로 로그인하기

server action 로그인 후 쿠키가 비어있어요

해결된 질문

24.01.03 21:39 작성

·

479

0

현재 java 로 서버 만들어둔게 있어서 next14 연습할 겸 백엔드는 기존 서버 유지한 상태에서 next project 진행중입니다.

문제사항은 제목과 같습니다
1. server action 로그인 후 쿠키 세팅 없음
2. 로그인 후 '/' 경로에서 어떠한 action
3. 세팅된 middleware 로 인해 '/login'으로 라우팅 처리


프론트 코드

server: LoginForm.ts
code.png- LoginForm 컴포넌트는 서버 컴포넌트인 '/login' 페이지에서 렌더링 됩니다.
- 당연히 signIn 함수는 '@/auth' 에서 가지고 왔습니다

import { signIn } from '@/auth';

 

auth.ts

code1.png- response는 임의로 설정할 수 없어, 토큰을 email과 image 에 넣어보았습니다

'/' server: page.tsx

server 콘솔에는 session 출력 되고 있는데,
if 문 만나면 바로 redirect 됩니다.

의심스러운 부분

첫 로그인페이지 렌더링 할 때 호출되는 network 탭입니다
session을 호출하는 곳은 middleware, dashboard (위 페이지) 딱 2곳입니다 그런데 session 호출이 많기도 하고 전부 응답이 null 입니다


middleware 에서도 session 출력 잘 되구요..

애플리케이션 -> 쿠키

이것 저것 시도해 보다가,
오늘 하루가 다가서 이렇게 질문 드립니다


 

환경

package.json


하드웨어:
  모델명: MacBook Pro

  모델 식별자: Mac14,9

  모델 번호: Z17G0005KKH/A

  칩: Apple M2 Pro

  총 코어 개수: 10(6 성능 및 4 효율)

  메모리: 32 GB

  시스템 펌웨어 버전: 10151.61.4

  OS 로더 버전: 10151.61.4

답변 3

1

hyoloui님의 프로필 이미지
hyoloui
질문자

2024. 01. 04. 00:18

원인 : AUTH_URL='https://~' (https 로 시작하는 도메인으로 요청)
해결 : cookies 옵션 설정image
참고 : https://next-auth.js.org/configuration/options#usesecurecookies

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

2024. 01. 03. 21:57

이 문제는 ch4에서 해결합니다!

hyoloui님의 프로필 이미지
hyoloui
질문자

2024. 01. 03. 23:02

https://github.com/ZeroCho/next-app-router-z/blob/master/ch4/src/auth.ts#L52C9-L53C46

 

위 강의 소스코드와 같이 코드 작성하였으나 console에 set-cookie가 null이 나오고,
로그인 성공시에도 네트워크탭 응답헤더에는 있는것 같은데,
애플리케이션 탭에 쿠키가 하나도 없습니다

image

말씀하신대로 ch4 보고 해결 시도하였으나,
로그인 후 애플리케이션 탭에 쿠키가 안들어와서 진도를 못나가고 있습니다ㅠㅠ

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

2024. 01. 03. 23:13

일단 쿠키가 있는지 여부는 강의 진도와 아무 관련이 없습니다. 저도 쿠키 없는 채로 그냥 쭉 했습니다.

쿠키 앞에 __Secure이 붙어있는데 이게 붙으면 안 됩니다. 뭔가 설정을 달리하신 게 있나요?

강의와 next-auth 버전이 다르긴 합니다.

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

2024. 01. 03. 23:18

useSecureCookies 옵션 끄세요

hyoloui님의 프로필 이미지
hyoloui
질문자

2024. 01. 04. 00:15

따로 설정하지 않았습니다

image
이런 식으로 쿠키 옵션에서
custom 해서 secure를 변경해줬더니 secure 옵션 꺼지면서
이제 받아오네요..

image
강사님이 설정하신 .env 파일에서의
AUTH_URL 환경변수가 'http' 이고
제 AUTH_URL 환경변수는 'https' 인것의 차이 밖에 없는 것 같은데,

이건 next-auth 설정인듯 싶어요ㅠㅠ

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

2024. 01. 04. 00:31

아.. auth url https면 배포모드로 설정되어서 secure 쿠키되네요.

0

인프런 AI 인턴님의 프로필 이미지

2024. 01. 03. 21:41

안녕하세요, 인프런 AI 인턴입니다.

로그인 후 쿠키가 비어있는 문제는 여러 가지 원인으로 발생할 수 있으며, 관련하여 더 자세한 내용을 찾고 계신 것 같습니다. 제로초님의 강의 중 쿠키 관련 문제에 대한 질문과 답변이 있으니 참고하시면 도움이 될 것 같습니다.

설명과 유사한 상황의 해결방안을 제공하고 있는 게시글 링크를 아래와 같이 안내드립니다.

위 링크들에서 유사한 문제 상황을 다루고 있으니, 해당 내용을 참고하여 문제 해결에 접근해 보시길 바랍니다.

hyoloui님의 프로필 이미지

작성한 질문수

질문하기