Skip to content

authentication 폴더를 모듈처럼 다른 django 프로젝트에 이식할 수 있습니다.

Notifications You must be signed in to change notification settings

Junseo5/django_login_module

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OAuth2 이메일 인증 로그인 모듈 프로젝트

이 저장소는 Django 5, DRF, SimpleJWT 기반의 모듈형 인증 시스템을 구현한 예제입니다. authentication/ 폴더만 통째로 다른 Django 프로젝트에 옮겨도 이메일 기반 회원가입(이메일 인증), 비밀번호 관리, JWT 로그인, Google/Kakao OAuth2, 권한(Role) 검증, 웹 데모 UI가 즉시 동작하도록 설계되었습니다.


구성 및 특징

  • 커스텀 User + PendingRegistration: 이메일 인증 전에는 대기 테이블에만 저장되어 “유령 계정”이 남지 않습니다.
  • JWT + OAuth2: 기본 로그인뿐 아니라 Google/Kakao OAuth2 연동, refresh 토큰 블랙리스트 처리까지 포함합니다.
  • 웹 데모 UI: web/ 앱을 통해 /register, /login, /mypage 등 실제 게시판 형태 UI로 즉시 확인 가능합니다.
  • 환경 변수 기반 설정: .env.example 을 참고해 SMTP/JWT/OAuth 값을 설정하면 곧바로 사용할 수 있습니다.
  • 문서/테스트: authentication/PORTING_GUIDE.md 에 이식 절차가 상세히 정리되어 있으며 python manage.py test authentication 으로 기본 플로우를 검증했습니다.

빠른 실행

pip install -r requirements.txt  # Django, DRF, SimpleJWT, allauth 등
cp .env.example .env            # SMTP/Gmail, JWT, OAuth 값 입력
python manage.py migrate
python manage.py test authentication
python manage.py runserver

브라우저에서 http://localhost:8000/register/ 에 접속하여 이메일 인증 → 로그인 → 마이페이지까지 흐름을 확인할 수 있습니다.


모듈 이식 요약

  1. 다른 Django 프로젝트에 authentication/ 폴더를 복사합니다.
  2. INSTALLED_APPS, AUTH_USER_MODEL, REST_FRAMEWORK, SIMPLE_JWT, AUTHENTICATION_BACKENDS, urls.py 등을 PORTING_GUIDE.md 지침대로 수정합니다.
  3. .env 를 작성하고 python manage.py migrate authentication/auth/register → /auth/register/verify → /auth/login 플로우를 호출해 동작을 확인합니다.

이 가이드만 따르면 별도의 로그인 시스템이 없던 프로젝트에서도 즉시 사용 가능한 인증 모듈을 확보할 수 있습니다.

About

authentication 폴더를 모듈처럼 다른 django 프로젝트에 이식할 수 있습니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors