개발자

next-auth에서 adapter와 관련해서 궁금한점이 몇개 있습니다.

2023년 10월 07일조회 99

안녕하세요. 새로운 프로젝트 진행 중에 처음으로 next-auth를 사용해서 소셜로그인을 해보려고 하는데 이해가 안되는 부분이 몇가지 있어서 질문 드립니다... 1. next-auth가 서버리스를 권장하는 next의 기능인 것은 알겠습니다. 그럼에도 프로젝트를 진행함에 있어서 다른 기능을 추가할 때 서버를 사용해야 할 것 같습니다. 그렇다면 클라이언트에서 아는 내용을 서버도 알아야만 하는데(유저 정보, 어떤 유저가 요청을 보냈는지) adpater를 사용해서 DB에 직접 접근하지 않는다면 서버에게 어떻게 알게해야 하나요?? 2. 만약 adapter로 DB에 접근하게된다면, DB에 직접 접근해 유저정보를 넣을 수 있게 되는건가요? 3. adapter를 사용하지 않는다면 jwt로 기본적으로 동작하고 이를 권장하는다고 하는데 그렇다면 만약 adapter를 사용한다면 따로 jwt를 생성해서 다뤄야할까요? 4. adapter를 사용하지 않고 next-auth 소셜로그인을 한다면 jwt refresh와 같은 것들은 전혀 생각하지 않아도 되는걸까요??

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 0

답변이 없을 때 보이는 아이콘

첫 답변을 기다리고 있어요.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2023년 10월 07일

1. 클라이언트에서 알고 있는 정보를 서버로 전달하는 방법으로는 여러가지가 있을 수 있습니다. 하나의 방법은 HTTP 요청의 헤더에 정보를 첨부하고, 이를 서버에서 파싱하여 사용하는 것입니다. 예를 들어, 인증 토큰(Authorization 토큰)을 수동으로 설정하거나 쿠키/세션 ID를 사용할 수 있습니다. 2. 네, adapter는 Database와 next-auth 사이의 인터페이스 역할을 합니다. 따라서 adapter를 통해 DB에 접근하게 되면 유저 정보 등 필요한 데이터를 읽고 쓸 수 있습니다. 3. JWT는 기본적으로 동작하지만, 만약 Adapter 를 사용해서 세션 관리 등을 별도로 하려면 고유한 JWT 생성 및 검증 메커니즘이 필요할 수 있습니다. 4. 네, 맞습니다. next-auth는 기본적으로 세션 관리에 필요한 모든 것들을 자동화합니다 (따라서 manual refresh 등은 필요 없게 됩니다). 하지만 만약 custom adapter 를 이용해 세션 관리나 별도의 인증 메커니즘을 구현하려면 해당 부분에 대한 처리도 직접 해주어야 합니다. 이런 내용들은 공식 next-auth 문서 [https://next-auth.js.org](https://next-auth.js.org)에서도 확인하실 수 있습니다.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!