최근에 NextAuth를 사용했던 경험이 있어서 간단한 답변을 달아봅니다. 일단 pageProps의 session이 undefined면 어딘가 설정이 잘못된게 아닌가 의심스럽네요. 아래 공식문서를 읽어보시면 pageProps로 정상적으로 session 정보를 넘길수 있습니다. https://next-auth.js.org/getting-started/client#sessionprovider 다만 앱이 처음 랜더링되고 나서 서버에서 session 정보를 받아오기전까지 props상에서 undefined가 찍혀있을수 있습니다. 이런 점들로 인해 page단에서 이런 값으로 처리하기엔 랜더링 타이밍에 따른 이슈가 있을수 있습니다. 권한이 없으면 라우팅하는 로직일 경우 -> session 정보가 업데이트 되기전까지 노출될 수 있음, 권한이 있으면 라우팅하는 로직인 경우 -> session 정보가 업데이트 되면 다른 곳에 있다가 해당 페이지로 rewrite 됨 그래서 위에 2가지 모두 UX적으로 별로인 상황입니다. 따라서 _app에서 특정페이지로의 이동보다는 [...nextauth] 내부의 callbacks에서 해당 값을 확인하신 후에 redirect 처리하는 것을 추천합니다. https://next-auth.js.org/configuration/callbacks#sign-in-callback

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 3월 19일 오후 4:03

댓글 0