pharmacy-pos-qr-system/docs/kakao-oauth-setup.md
thug0bin 31cf6e3816 feat: 카카오 로그인으로 마일리지 적립 기능 추가
- 카카오 OAuth 2.0 클라이언트 모듈 추가 (services/kakao_client.py)
- 적립 페이지에 "카카오로 적립하기" 버튼 추가
- OAuth 콜백 처리: 전화번호 자동 적립 / 미제공 시 폰 입력 폴백
- state 파라미터로 claim 컨텍스트 보존 + CSRF 보호
- customer_identities 테이블 활용한 카카오 계정 연결
- 마이페이지 헤더 sticky 고정
- 카카오 OAuth 설정 가이드 문서 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 02:27:05 +09:00

110 lines
3.1 KiB
Markdown

# 카카오 OAuth 설정 가이드
## 카카오 앱 정보
- **앱 ID**: 1165131
- **앱 이름**: 청춘약국
- **앱 유형**: 비즈 앱
- **개발자 콘솔**: https://developers.kakao.com/console/app/1165131
## Redirect URI 등록 (2025년 12월 개편 후)
> **주의**: 2025년 12월 카카오 콘솔 UI가 개편되면서 Redirect URI 위치가 변경됨.
> 기존에는 `카카오 로그인 > 일반`에 있었지만, 현재는 `앱 > 플랫폼 키` 하위로 이동됨.
### 현재 경로 (2025.12~ )
```
앱 > 플랫폼 키 > REST API 키 클릭 > 리다이렉트 URI
```
### 이전 경로 (~ 2025.11, 더 이상 사용 안 함)
```
카카오 로그인 > 일반 > Redirect URI ← 여기 더 이상 없음
```
### 등록된 Redirect URI 목록
| 서비스 | Redirect URI |
|--------|-------------|
| 게시판 (board-system) | `https://bbs.0bin.in/auth/kakao/callback` |
| 마일리지 적립 (pharmacy-pos-qr) | `https://mile.0bin.in/claim/kakao/callback` |
## 로그아웃 Redirect URI (별도)
로그아웃용 Redirect URI는 **다른 위치**에서 설정:
```
카카오 로그인 > 고급 > 로그아웃 리다이렉트 URI
```
로그인용 Redirect URI와 혼동하지 않도록 주의.
## 웹 도메인 등록
```
앱 > 제품 링크 관리 > 웹 도메인
```
등록된 도메인 (최대 10개):
- `https://img.0bin.in` (기본)
- `https://api.0bin.in`
- `https://0bin.in`
- `https://bbs.0bin.in`
- `https://drug.0bin.in`
- `https://ani.0bin.in`
- `https://figma.0bin.in`
- `https://am.0bin.in`
- `https://ka.0bin.in`
- `https://mile.0bin.in`
## 동의항목 설정
```
카카오 로그인 > 동의항목
```
| 항목 | ID | 용도 | 비즈앱 필요 |
|------|-----|------|------------|
| 닉네임 | profile_nickname | 사용자 이름 | X |
| 프로필 사진 | profile_image | 아바타 | X |
| 이메일 | account_email | 계정 연동 | X |
| 이름 (실명) | name | 마일리지 적립자명 | O |
| 전화번호 | phone_number | 마일리지 유저 매칭 | O |
## 환경변수
```bash
KAKAO_CLIENT_ID=<REST API 키>
KAKAO_CLIENT_SECRET=<카카오 개발자 콘솔 > 앱 > 보안에서 확인>
KAKAO_REDIRECT_URI=https://mile.0bin.in/claim/kakao/callback
```
### Client ID 확인 위치
```
앱 > 플랫폼 키 > REST API 키 > 키 값
```
### Client Secret 확인 위치
```
앱 > 보안 > Client Secret 코드
```
## 관련 파일
| 프로젝트 | 파일 | 설명 |
|---------|------|------|
| pharmacy-pos-qr-system | `backend/services/kakao_client.py` | 카카오 API 클라이언트 |
| pharmacy-pos-qr-system | `backend/app.py` | OAuth 라우트 (`/claim/kakao/*`) |
| board-system-project | `backend/services/kakao_client.py` | 카카오 API 클라이언트 (원본) |
| board-system-project | `backend/routes/auth.py` | OAuth 라우트 (`/auth/kakao/*`) |
## 참고 링크
- [카카오 로그인 REST API 문서](https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api)
- [카카오 로그인 설정하기](https://developers.kakao.com/docs/latest/ko/kakaologin/prerequisite)
- [카카오 앱 키 구조 개편 공지 (2025.12)](https://devtalk.kakao.com/t/upcoming-kakao-developers-app-key-update/147295)