기본 콘텐츠로 건너뛰기

라벨이 인증인 게시물 표시

Django에서 OAuth2 로그인 구현하기 (Google, Kakao 연동 실습)

Django에서 OAuth2 로그인 구현하기 (Google, Kakao 연동 실습) 안녕하세요! 오늘은 Django에서 OAuth2를 사용하여 소셜 로그인을 구현하는 방법에 대해 알아보겠습니다. 특히 Google과 Kakao 로그인을 실습 예제와 함께 구현해보겠습니다. OAuth2란? OAuth2는 사용자가 자신의 계정 정보를 직접 제공하지 않고도, 다른 서비스의 기능을 사용할 수 있게 해주는 인증 프로토콜입니다. 주요 특징은 다음과 같습니다: 보안성 : 사용자의 비밀번호를 직접 공유하지 않습니다. 편의성 : 사용자가 새로운 계정을 만들 필요가 없습니다. 확장성 : 다양한 서비스와 연동이 가능합니다. 프로젝트 설정 먼저 필요한 패키지를 설치합니다: pip install django-allauth Django 설정 settings.py 에 다음과 같이 설정을 추가합니다: INSTALLED_APPS = [ ... 'django.contrib.sites', 'allauth', 'allauth.account', 'allauth.socialaccount', 'allauth.socialaccount.providers.google', 'allauth.socialaccount.providers.kakao', ] AUTHENTICATION_BACKENDS = [ 'django.contrib.auth.backends.ModelBackend', 'allauth.account.auth_backends.AuthenticationBackend', ] SITE_ID = 1 # 소셜 로그인 설정 SOCIALACCOUNT_PROVIDERS = { 'google': { 'SCOPE': [ ...

Django Rest Framework로 JWT 로그인 API 완벽 구현 가이드

Django Rest Framework로 JWT 로그인 API 완벽 구현 가이드 안녕하세요! 오늘은 Django Rest Framework(DRF)를 사용하여 JWT(JSON Web Token) 기반의 로그인 API를 구현하는 방법에 대해 자세히 알아보겠습니다. 왜 JWT를 사용할까요? JWT는 최근 가장 인기있는 인증 방식 중 하나입니다. 그 이유는 다음과 같습니다: Stateless : 서버에 세션을 저장할 필요가 없어 서버 부하가 줄어듭니다. 확장성 : 마이크로서비스 아키텍처에 적합합니다. 보안 : 토큰이 서명되어 있어 위조가 어렵습니다. 크로스 도메인 : CORS 정책에 더 유연하게 대응할 수 있습니다. 프로젝트 설정 먼저 필요한 패키지들을 설치하겠습니다: pip install djangorestframework djangorestframework-simplejwt settings.py 에 다음과 같이 설정을 추가합니다: INSTALLED_APPS = [ ... 'rest_framework', 'rest_framework_simplejwt', ] REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework_simplejwt.authentication.JWTAuthentication', ), } # JWT 설정 from datetime import timedelta SIMPLE_JWT = { 'ACCESS_TOKEN_LIFETIME': timedelta(minutes=60), 'REFRESH_TOKEN_LIFETIME': timedelta(days=1), 'ROTATE_REFRESH_TOKENS': False, 'BLACKLIST_AF...