카카오 콜백 구현
1️⃣ 카카오 Access Token 발급 요청
- 콜백 URL로 받은 code 값을 이용해
- 카카오 서버에 토큰 발급 요청 → access_token 받아오기
2️⃣ 카카오 프로필(사용자 정보) 요청
- 발급받은 access_token으로 카카오 API 호출 → email 등 사용자 정보 획득
3️⃣ 이메일 기반 회원가입/로그인 처리
- 기존 로직(User.objects.filter(email=email)) 활용해서 가입/로그인 분기
🚦 시작 코드 예시
콜백 함수 대략 구조:
import requests
from django.shortcuts import redirect
def kakao_callback(request):
code = request.GET.get('code')
if not code:
return HttpResponse("코드 없음", status=400)
# 1. Access Token 요청
token_url = "https://kauth.kakao.com/oauth/token"
data = {
"grant_type": "authorization_code",
"client_id": "카카오 REST API 키",
"redirect_uri": "콜백 URL",
"code": code,
}
token_response = requests.post(token_url, data=data)
token_json = token_response.json()
access_token = token_json.get("access_token")
# 2. 사용자 정보 요청
headers = {"Authorization": f"Bearer {access_token}"}
profile_response = requests.get("https://kapi.kakao.com/v2/user/me", headers=headers)
profile_json = profile_response.json()
kakao_account = profile_json.get("kakao_account", {})
email = kakao_account.get("email")
# 3. email로 회원가입 or 로그인
# ... (네이버/깃허브와 동일 로직 재활용!)
# 4. 닉네임 입력 or 메인으로 리디렉트
return redirect('main')
- 카카오 REST API 키/리디렉트 주소는 반드시 본인 앱 것으로 넣기!
- 만약 이메일 동의 항목 미설정 시 email이 안 올 수 있음 → [카카오 개발자센터]에서 동의항목 '이메일' 활성화 필요
'프로젝트' 카테고리의 다른 글
Docker /admin 해결 (0) | 2025.06.14 |
---|---|
📌 3. Django 백엔드 카카오 OAuth 최종코드 (0) | 2025.06.13 |
📌 2. Django 백엔드에 카카오 OAuth 연동 시작 (0) | 2025.06.13 |
📌 1. 카카오 개발자센터 OAuth 앱 등록 및 세팅 (0) | 2025.06.13 |
📝 가계부 API (OpenAPI 3.0.3) 시각적 구조 요약 API 상세 명세서 (0) | 2025.06.13 |