구글 로그인, 직접 안 짜도 되는 프롬프트 모음

세이링
2,067
1 0

구글 로그인 직접 연동해보신 분들은 알 거예요.
OAuth는 문서 보면서 하려면 진짜 시간 오래 걸리고, access token 관리, callback 처리, 사용자 정보 매핑까지 은근 복잡하거든요.

근데 ChatGPT한테 딱 이렇게 물어보면, 우리가 직접 찾아보고 고민해야 할 부분까지 다 반영해서 코드를 짜줘요.
설계부터 보안까지 “이건 진짜 개발자가 쓴 것 같다” 싶은 수준으로 말이죠.

이번엔 Google OAuth2를 활용한 소셜 로그인 구현에 필요한 전체 구조를 이렇게 요청해봤어요👇

프롬프트

복사
넌 Next.js App Router 기반의 풀스택 애플리케이션을 구축할 수 있는 시니어 프론트엔드 개발자야. 나는 현재 소셜 로그인 기능 중 Google OAuth2를 활용한 로그인 연동을 구현하려고 해. 아래 환경과 목적, 그리고 요구사항을 기반으로 설계 및 구현에 필요한 전체 코드와 흐름을 작성해줘.

[환경 조건]
- 프레임워크: Next.js 13 이상 (App Router 구조)
- 언어: TypeScript
- 데이터베이스: PostgreSQL (Prisma ORM 사용)
- 인증/인가 방식: Google OAuth2
- 인증된 사용자의 access token은 쿠키(`httpOnly`, `Secure`, `SameSite=Strict`)에 저장
- 인증 처리에는 next-auth를 사용하지 않고, 직접 OAuth 연동 구현

[기능 목표]
1. 구글 OAuth 로그인 버튼 클릭 → Google 인증 창 → 인증 성공 시 redirect URI로 콜백
2. 콜백 처리 후 사용자 정보(email, name, profile image 등)를 수신하고,
   - 기존 유저가 존재하면 로그인 처리
   - 신규 유저라면 자동 회원가입 및 유저 DB 저장
3. 사용자에게 JWT access token 발급 → httpOnly 쿠키로 설정
4. JWT는 서버 사이드 렌더링 시에도 인증 확인이 가능하도록 설정
5. 로그인 상태가 유지되며, 페이지를 새로고침하거나 이동해도 인증 정보가 유지되어야 함
6. 로그아웃 시 쿠키를 완전히 삭제하고 세션 종료

[세부 요구]
- Google Cloud Console에서 필요한 OAuth 설정 방법(redirect URI, client ID/secret 구성법 등)도 요약해서 설명해줘
- Prisma User 모델에는 소셜 로그인 정보(`provider`, `providerAccountId`)가 명확히 들어가야 함
- 인증 실패 / 콜백 오류 / JWT 검증 실패 시 예외 처리 구조를 명확히 해줘
- 쿠키 설정 및 JWT 발급 함수는 유틸화하여 재사용 가능하도록 작성
- API 구조는 `/api/auth/google/start`, `/api/auth/google/callback`, `/api/auth/logout` 으로 명확히 나눠줘
- 코드에는 상세한 주석을 달아서 흐름을 따라가기 쉽도록 해줘
- 클라이언트 컴포넌트에서 로그인 버튼 클릭 시 흐름이 어떻게 동작하는지 포함해서 UI 코드도 같이 제공해줘

[추가 요청]
- JWT는 HS256으로 서명하고, access token 유효기간은 1시간
- access token 만료 시 자동으로 refresh되는 구조는 포함하지 않아도 됨
- 쿠키 설정 시 보안 옵션(`Secure`, `SameSite`, `httpOnly`)이 실제 배포 환경에서도 유효하게 작동하도록 해줘

이 조건을 기반으로 전체 폴더 구조, 코드 예시, 흐름 설명까지 포함한 완성도 높은 구현 가이드를 작성해줘.

댓글 작성

감성을 깨우는 미술의 힘

예술은 말보다 깊은 감정을 전합니다. 하지만 무엇을 어떻게 표현할지 막막할 때가 많습니다. 바로 그 지점에서 창작의 갈등...

일하고 싶은 곳으로 만드는 업무환경 개선 프롬프트

"월요일이 우울해요." 직장인이라면 누구나 한 번쯤 느껴봤을 감정이에요. 똑같은 일을 하는데도 어떤 회사는 출근이 즐겁고,...

프롬프트

ChatGPT

당신만의 예술 세계를 여는 색채 심리학의 비밀

ChatGPT

첫 부동산 투자, 후회 없는 선택을 위한 체크리스트

ChatGPT

평범한 생각을 혁신으로 바꾸는 역발상의 힘

ChatGPT

학습 열정이 되살아나는 순간: 동기부여의 과학

ChatGPT

한 줄도 쓰기 싫을 때, 소설이 완성되는 마법

ChatGPT

레거시 코드의 숨겨진 보석을 찾아서

ChatGPT

“그게 아니라니까요!” 소통 오류를 해결하는 방법

ChatGPT

한 번에 사로잡는 이야기의 마법, 그 비밀은?

ChatGPT

돈은 새는데, 통장은 마르고… 해결책은?

ChatGPT

예술가의 블록을 깨는 5가지 방법!

ChatGPT

기억에 남는 학습? 잊혀지는 공부?

ChatGPT

코드의 숨겨진 함정: 디버깅 시간을 반으로 줄이는 비밀

ChatGPT

머신러닝, 코드 몇 줄로 당신의 비즈니스를 혁신하다

ChatGPT

상자 밖 사고, 어떻게 훈련할까?

ChatGPT

⚡ 청중을 사로잡는 프레젠테이션의 기술

ChatGPT

디지털 아티스트의 숨겨진 성장 비결