본문으로 건너뛰기

의뢰인 포털 OAuth 설정 가이드

카카오/네이버 OAuth + iron-session 환경변수 설정 절차

1. 카카오 OAuth 설정

1.1 앱 생성

  1. developers.kakao.com → 로그인
  2. 내 애플리케이션애플리케이션 추가하기
  3. 앱 이름: 너홀로프로, 카테고리: 생산성/도구

1.2 플랫폼 등록

앱 설정 → 플랫폼

플랫폼
Web 사이트 도메인https://pro.neohollo.com
Web 사이트 도메인 (개발)http://localhost:5002
Redirect URIhttps://pro.neohollo.com/api/portal/auth/callback
Redirect URI (개발)http://localhost:5002/api/portal/auth/callback

1.3 카카오 로그인 활성화

제품 설정 → 카카오 로그인 → 일반

  • 사용 설정: ON
  • OpenID Connect: OFF (불필요)

1.4 동의항목 설정

제품 설정 → 카카오 로그인 → 동의항목

항목동의 수준비고
닉네임필수 동의
이름필수 동의비즈 앱 전환 필요
전화번호필수 동의비즈 앱 전환 필요

중요: 이름/전화번호 스코프는 비즈 앱 전환 후에만 사용 가능합니다. 비즈 앱 전환: 카카오 개발자 콘솔 → 앱 설정 → 비즈니스 인증 → 사업자등록증 제출 (심사 1~3영업일)

비즈 앱 전환 전에는 OTP 폴백으로 테스트 가능합니다.

1.5 보안 설정

앱 설정 → 보안

  1. Client Secret → 코드 생성 클릭
  2. 생성된 코드를 복사 → KAKAO_CLIENT_SECRET
  3. 활성화 상태: 사용함으로 변경

1.6 키 확인

앱 설정 → 앱 키

항목환경변수
REST API 키KAKAO_CLIENT_ID

앱 설정 → 보안

항목환경변수
Client Secret 코드KAKAO_CLIENT_SECRET

2. 네이버 OAuth 설정

2.1 앱 생성

  1. developers.naver.com → 로그인
  2. Application애플리케이션 등록
  3. 애플리케이션 이름: 너홀로프로

2.2 사용 API 선택

항목
사용 API네이버 로그인
필수 제공 정보이름, 휴대전화번호 체크

2.3 환경 설정

항목
서비스 환경PC웹
서비스 URLhttps://pro.neohollo.com
Callback URLhttps://pro.neohollo.com/api/portal/auth/callback
Callback URL (개발)http://localhost:5002/api/portal/auth/callback

2.4 키 확인

앱 등록 완료 후 내 애플리케이션 에서 확인:

항목환경변수
Client IDNAVER_CLIENT_ID
Client SecretNAVER_CLIENT_SECRET

네이버는 별도 심사 없이 바로 사용 가능합니다.


3. PORTAL_SESSION_SECRET 생성

iron-session 쿠키 암호화 키입니다. 32자 이상이어야 합니다.

# 방법 1: openssl
openssl rand -base64 32

# 방법 2: node
node -e "console.log(require('crypto').randomBytes(32).toString('base64'))"

4. 환경변수 설정

4.1 로컬 개발 (.env.local)

# ── 포털 인증 ──────────────────────────
NEXT_PUBLIC_APP_URL=http://localhost:5002

# iron-session 암호화 키 (32자 이상)
PORTAL_SESSION_SECRET=여기에_openssl_결과_붙여넣기

# 카카오 OAuth
KAKAO_CLIENT_ID=여기에_REST_API_키
KAKAO_CLIENT_SECRET=여기에_Client_Secret

# 네이버 OAuth
NAVER_CLIENT_ID=여기에_Client_ID
NAVER_CLIENT_SECRET=여기에_Client_Secret

4.2 프로덕션 (Firebase App Hosting)

시크릿 생성:

firebase apphosting:secrets:set portal-session-secret
firebase apphosting:secrets:set kakao-client-secret
firebase apphosting:secrets:set naver-client-secret

apphosting.yaml 에 추가:

env:
- variable: PORTAL_SESSION_SECRET
secret: portal-session-secret
- variable: KAKAO_CLIENT_ID
value: "REST_API_키_값"
- variable: KAKAO_CLIENT_SECRET
secret: kakao-client-secret
- variable: NAVER_CLIENT_ID
value: "Client_ID_값"
- variable: NAVER_CLIENT_SECRET
secret: naver-client-secret

5. 설정 확인 체크리스트

카카오

  • 앱 생성 완료
  • Web 플랫폼 등록 (pro.neohollo.com + localhost:5002)
  • Redirect URI 등록 (프로덕션 + 개발)
  • 카카오 로그인 활성화 (ON)
  • 동의항목: 닉네임 (필수)
  • 비즈 앱 전환 신청 (이름/전화번호 스코프용)
  • Client Secret 생성 + 활성화
  • KAKAO_CLIENT_ID, KAKAO_CLIENT_SECRET 환경변수 설정

네이버

  • 앱 등록 완료
  • 사용 API: 네이버 로그인 (이름, 휴대전화번호)
  • Callback URL 등록 (프로덕션 + 개발)
  • NAVER_CLIENT_ID, NAVER_CLIENT_SECRET 환경변수 설정

iron-session

  • PORTAL_SESSION_SECRET 생성 (32자 이상)
  • 로컬 .env.local 설정
  • 프로덕션 Secret Manager 설정

Firestore

  • firebase deploy --only firestore:rules 실행

6. 테스트 순서

  1. 네이버 먼저 테스트 (심사 불필요, 바로 사용 가능)

    • 포털 링크 생성 → 링크 접속 → "네이버로 본인확인" → 포털 열람
  2. OTP 폴백 테스트

    • 포털 링크 접속 → "인증코드로 확인" → 이메일 OTP 수신 → 입력 → 포털 열람
  3. 카카오 테스트 (비즈 앱 전환 승인 후)

    • 포털 링크 접속 → "카카오로 본인확인" → 이름+전화번호 매칭 → 포털 열람

카카오 비즈 앱 심사 중에도 네이버 + OTP로 포털 기능 사용 가능합니다.