프로젝트
📌 2. Django 백엔드에 카카오 OAuth 연동 시작
Chansman
2025. 6. 13. 05:17
Django 백엔드에 카카오 OAuth 연동 시작할 차례야.
2️⃣ settings.py(.env) 환경변수 등록
카카오 REST API 키를 장고에서 읽을 수 있게 환경변수로 등록해야 해.
예시: .env 파일에 추가
KAKAO_CLIENT_ID=여기에_네_카카오_REST_API_키_붙여넣기
KAKAO_REDIRECT_URI=http://localhost:8000/oauth/kakao/callback/
settings.py에 등록
import os
KAKAO_CLIENT_ID = os.getenv("KAKAO_CLIENT_ID")
KAKAO_REDIRECT_URI = os.getenv("KAKAO_REDIRECT_URI")
(※ .env로 관리 중이면 dotenv 패키지로 로드되는지 확인!)
3️⃣ URL 세팅 (urls.py & oauth_urls.py 등)
- oauth/kakao/login/ : 카카오 로그인 페이지로 리다이렉트
- oauth/kakao/callback/ : 카카오에서 인증이 끝나고 돌아오는 콜백 URL
# settings/urls.py
path('oauth/', include('oauth.oauth_urls')),
# oauth/oauth_urls.py
from django.urls import path
from . import oauth_views
urlpatterns = [
path('kakao/login/', oauth_views.KakaoLoginRedirectView.as_view()),
path('kakao/callback/', oauth_views.kakao_callback),
# ... 기존 naver, github 코드와 동일하게!
]
4️⃣ 카카오 로그인 리다이렉트 뷰 작성
oauth_views.py에 추가!
from django.views.generic import RedirectView
from django.conf import settings
from urllib.parse import urlencode
class KakaoLoginRedirectView(RedirectView):
def get_redirect_url(self, *args, **kwargs):
params = {
'client_id': settings.KAKAO_CLIENT_ID,
'redirect_uri': settings.KAKAO_REDIRECT_URI,
'response_type': 'code',
}
url = "https://kauth.kakao.com/oauth/authorize?" + urlencode(params)
return url
4️⃣ -1. 콜백 함수 먼저 만들어줘야 함!
oauth_views.py에 아래 코드(더미라도) 추가:
python
복사편집
from django.http import HttpResponse def kakao_callback(request): return HttpResponse("카카오 콜백! 아직 구현 전!")
- 일단 이렇게만 넣어주면 import 에러 사라짐!
- 이후 카카오 로그인 처리 로직은 차근차근 추가하면 됨.
✅ 여기까지 하면
- /oauth/kakao/login/ 접속 → 카카오 로그인 화면으로 이동
- 로그인 성공시, 카카오가 네가 설정한 콜백 주소로 ?code=xxx 파라미터와 함께 redirect