의뢰인 포털 OAuth 설정 가이드
카카오/네이버 OAuth + iron-session 환경변수 설정 절차
1. 카카오 OAuth 설정
1.1 앱 생성
- developers.kakao.com → 로그인
- 내 애플리케이션 → 애플리케이션 추가하기
- 앱 이름:
너홀로프로, 카테고리:생산성/도구
1.2 플랫폼 등록
앱 설정 → 플랫폼
| 플랫폼 | 값 |
|---|---|
| Web 사이트 도메인 | https://pro.neohollo.com |
| Web 사이트 도메인 (개발) | http://localhost:5002 |
| Redirect URI | https://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 보안 설정
앱 설정 → 보안
- Client Secret → 코드 생성 클릭
- 생성된 코드를 복사 →
KAKAO_CLIENT_SECRET - 활성화 상태:
사용함으로 변경
1.6 키 확인
앱 설정 → 앱 키
| 항목 | 환경변수 |
|---|---|
| REST API 키 | KAKAO_CLIENT_ID |
앱 설정 → 보안
| 항목 | 환경변수 |
|---|---|
| Client Secret 코드 | KAKAO_CLIENT_SECRET |
2. 네이버 OAuth 설정
2.1 앱 생성
- developers.naver.com → 로그인
- Application → 애플리케이션 등록
- 애플리케이션 이름:
너홀로프로
2.2 사용 API 선택
| 항목 | 값 |
|---|---|
| 사용 API | 네이버 로그인 |
| 필수 제공 정보 | 이름, 휴대전화번호 체크 |
2.3 환경 설정
| 항목 | 값 |
|---|---|
| 서비스 환경 | PC웹 |
| 서비스 URL | https://pro.neohollo.com |
| Callback URL | https://pro.neohollo.com/api/portal/auth/callback |
| Callback URL (개발) | http://localhost:5002/api/portal/auth/callback |
2.4 키 확인
앱 등록 완료 후 내 애플리케이션 에서 확인:
| 항목 | 환경변수 |
|---|---|
| Client ID | NAVER_CLIENT_ID |
| Client Secret | NAVER_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. 테스트 순서
-
네이버 먼저 테스트 (심사 불필요, 바로 사용 가능)
- 포털 링크 생성 → 링크 접속 → "네이버로 본인확인" → 포털 열람
-
OTP 폴백 테스트
- 포털 링크 접속 → "인증코드로 확인" → 이메일 OTP 수신 → 입력 → 포털 열람
-
카카오 테스트 (비즈 앱 전환 승인 후)
- 포털 링크 접속 → "카카오로 본인확인" → 이름+전화번호 매칭 → 포털 열람
카카오 비즈 앱 심사 중에도 네이버 + OTP로 포털 기능 사용 가능합니다.