로그인 계속 유지되게 하고 싶을 때, 이렇게 물어봐요

지피티갓
3845
1 0
Next.js 프로젝트에서 사용자 로그인 상태를 유지하는 기능, 처음부터 직접 짜려면 은근히 복잡하잖아요.
JWT를 활용하면서도 보안까지 고려하려면?
아래처럼 프롬프트를 활용하면 백엔드-프론트엔드 연동까지 깔끔하게 구현 가능해요!
디자인은 각자 입맛대로 입히면 되고, 기본 틀부터 같이 만들어봐요

프롬프트

복사
넌 Next.js 13 이상(App Router 기반)을 활용한 모던 웹 애플리케이션 구축에 능숙한 시니어 풀스택 개발자야. 나는 현재 로그인 유지 기능을 구현하고자 하는데, 다음과 같은 조건과 환경을 바탕으로 완성도 높은 인증 로직을 구현하고 싶어. 아래 내용을 기반으로 전체 구조와 코드를 작성해줘.

[프로젝트 환경]
- 프론트엔드 및 백엔드 모두 Next.js App Router 기반
- 클라이언트와 서버 모두 Next.js 내에서 동작 (API route 사용)
- TypeScript 사용
- 데이터베이스는 PostgreSQL (prisma ORM 사용)
- JWT는 access token과 refresh token을 모두 사용하며, access token은 httpOnly 쿠키에 저장

[기능 목표]
1. 로그인 기능
   - 사용자가 이메일/비밀번호로 로그인 시 access token과 refresh token을 발급
   - access token은 httpOnly 쿠키로 설정하여 클라이언트 JS에서 접근 불가하게 함
   - refresh token은 서버 DB에 저장 및 함께 쿠키에도 저장
   - 비밀번호는 bcrypt로 암호화되어 검증됨

2. 로그인 상태 유지
   - 사용자가 페이지 새로고침하거나 재방문해도 access token이 쿠키에 있으면 자동 로그인 처리
   - access token이 만료되었을 경우 refresh token으로 access token 재발급
   - refresh token의 유효성, 탈취 방지를 위한 보안 고려 포함

3. 서버사이드 렌더링에서의 인증 유지
   - `getServerSideProps`나 App Router의 `server component`에서 쿠키를 파싱하여 사용자의 로그인 여부 판단
   - 유효하지 않은 토큰이면 로그인 페이지로 리디렉션 처리

4. 로그아웃 기능
   - access token과 refresh token 모두 쿠키에서 제거
   - DB에 저장된 refresh token도 삭제하여 재사용 차단

5. 보안 고려사항
   - JWT 토큰은 서명(Sign) 알고리즘은 HS256 사용

댓글 작성

내가 만든 것을 나누니까, 상상도 못한 것이 돌아왔다

"내 아이디어를 공유하면 누가 가져가지 않을까?" 이런 걱정 때문에 혼자만 간직하고 있는 창작물이나 아이디어가 있으신가요...

가상 팀의 보이지 않는 연결고리

맥킨지 조사에 따르면, 원격 팀의 67%가 소속감 부족을, 72%가 실시간 협업의 어려움을 경험합니다. 하지만 최고 성과 팀들은...

프롬프트

공지

📢[필독] GPT 프롬프트 커뮤니티 이용 가이드

📢[필독] GPT 프롬프트 커뮤니티 이용 가이드

ChatGPT

“예술 트렌드를 읽는 자가 미래를 선점한다”

ChatGPT

“감정이 아닌 데이터가, 직감이 아닌 알고리즘이 돈을 번다”

ChatGPT

“혼자만 아는 좋은 교육법은 절반의 성공이다”

ChatGPT

“한 번 잘못 만든 이미지가 배포될 때마다 악몽이 반복된다”

ChatGPT

“기록은 과거가 아니라 미래를 위한 자산이다”

ChatGPT

“위기는 창의성의 가장 강력한 촉매제다”

ChatGPT

예술 작품의 가치는 감정으로 매기지만, 시장은 냉정한 숫자로 움직인다”

ChatGPT

“시장은 항상 변한다, 하지만 변화의 패턴은 읽을 수 있다”

ChatGPT

“진짜 교육 혁신은 강연장이 아니라 복도에서 일어난다”

ChatGPT

“보안은 마지막에 확인하는 게 아니라 처음부터 끝까지 함께 가는 것”

ChatGPT

“한 번의 클릭이 회사 전체를 마비시킬 수도 있다”

ChatGPT

“창의성을 숫자로 평가한다고? 불가능해 보였던 일이 현실이 되다”

ChatGPT

“교육의 질이 곧 미래의 질이다”

ChatGPT

“예술가의 꿈이 디지털로 날개를 달다”

ChatGPT

“정보가 돈이다, 하지만 잘못된 정보는 독이다”

ChatGPT

“사용자는 하나의 서버만 보지만, 뒤에는 100대가 숨어있다”