Soonlife DOCS

개발 환경 설정

Soonlife 구글 OAuth 백엔드 설치 및 실행 방법

1. 가상환경 생성 및 활성화

python -m venv .venv

# 활성화 (Windows)
.venv\Scripts\activate

# 활성화 (macOS/Linux)
source .venv/bin/activate

2. 의존성 설치

pip install -r requirements.txt

설치되는 주요 패키지:

패키지역할
Django웹 프레임워크
djangorestframeworkREST API
djangorestframework-simplejwtJWT 발급/재발급/블랙리스트
google-auth구글 ID 토큰 검증
django-cors-headersCORS 허용
python-dotenv환경변수 로드
PyMySQLMariaDB 드라이버

3. 환경변수 설정

.env.example을 복사해 .env를 만들고 값을 채웁니다.

copy .env.example .env
# Django
DJANGO_SECRET_KEY=change-me-to-a-random-secret-key
DJANGO_DEBUG=True
DJANGO_ALLOWED_HOSTS=127.0.0.1,localhost

# MariaDB
DB_NAME=soonlife
DB_USER=root
DB_PASSWORD=
DB_HOST=127.0.0.1
DB_PORT=3306

# Google OAuth
GOOGLE_OAUTH_CLIENT_IDS=xxxxxxxx.apps.googleusercontent.com

# CORS
CORS_ALLOWED_ORIGINS=http://localhost:8081,http://127.0.0.1:8081
변수설명
GOOGLE_OAUTH_CLIENT_IDSGoogle Cloud Console에서 발급한 OAuth 클라이언트 ID. 여러 플랫폼(iOS/Android/Web)용 ID를 콤마로 구분해 모두 등록
CORS_ALLOWED_ORIGINSExpo 개발 서버 등 API 호출을 허용할 origin

DJANGO_SECRET_KEYDB_PASSWORD는 절대 저장소에 커밋하지 마세요. .env.gitignore에 포함되어 있습니다.

4. 데이터베이스 마이그레이션

python manage.py migrate

5. 개발 서버 실행

python manage.py runserver 0.0.0.0:8000

서버가 http://localhost:8000에서 실행됩니다.

Django admin(/admin/)은 비활성화되어 있습니다.

Google Cloud Console 설정

  1. Google Cloud Console → 새 프로젝트 생성
  2. API 및 서비스 > OAuth 동의 화면 설정
  3. API 및 서비스 > 사용자 인증 정보 > OAuth 클라이언트 ID 만들기
    • 최초에는 웹 애플리케이션 유형으로 하나 만들면 백엔드 테스트가 가능합니다.
    • Expo 앱을 네이티브 빌드(EAS build)로 배포할 때 iOS, Android 유형 클라이언트를 추가로 만들어야 합니다.
    • "승인된 JavaScript 원본"/"승인된 리디렉션 URI"는 Expo 앱의 구글 로그인 구현 방식(expo-auth-session 프록시 vs 네이티브 SDK)이 정해진 뒤 채워도 됩니다.
  4. 발급된 모든 클라이언트 ID.envGOOGLE_OAUTH_CLIENT_IDS에 콤마로 구분하여 등록합니다. 백엔드는 ID 토큰의 aud 클레임이 이 목록에 포함되어야 유효한 토큰으로 인정합니다.

On this page