상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
청두의 유명한 전통 음식의 조리법은 무엇인가요?
어학연수 중에 필요한 문화적 이해는 어떻게 높이나요?
미국 어학연수에 필요한 영어 수준은 어느 정도인가요?
아이엘츠 Reading 섹션에서 시간을 효율적으로 관리하는 방법은 무엇인가요?
아이엘츠 시험의 Listening 섹션에서 다양한 액센트를 이해하는 방법은 무엇인가요?
방사선의 노출을 줄이기 위한 기술적 장치에는 어떤 것들이 있나요?
모차르트의 음악에서 자주 사용되는 악기는 무엇인가요?
모차르트의 '피아노 소나타 K. 331'의 특징은 무엇인가요?
모차르트의 '오페라'에서의 음악적 전개는 어떻게 이루어지나요?
차이콥스키의 '피아노 협주곡'의 특징은 무엇인가요?
화웨이는 어떤 방식으로 기술 트렌드를 분석하나요?
농사에서의 토양 건강 관리 방법은?
Previous
Next
수정하기 - 파이썬 장고에서 소셜 인증(Social Authentication)을 구현하는 방법은?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
소셜 인증(Social A<a href='https://sangseek.com/sangseeks/uth/ko'>uth</a>entication)은 <a href='https://sangseek.com/sangseeks/사용자가/ko'>사용자가</a> 소셜 미디어 계정을 통해 웹 <a href='https://sangseek.com/sangseeks/애플/ko'>애플</a>리케이션에 로그인할 수 있도록 하는 기능입니다. Django에서는 `django-allauth`와 같은 패키지를 사용하여 소셜 인증을 쉽게 구현할 수 있습니다. 아래는 Django에서 소셜 인증을 설정하는 단계별 가이드입니다. 1. Django 프로젝트 설정먼저, Django 프로젝트를 생성하고 필요한 패키지를 설치합니다.```bashdjango-admin startproject myprojectcd myprojectpython -m venv venvsource venv/bin/activate # Windows에서는 venv\Scripts\activatepip install django django-allauth``` 2. Django 앱 생성Django 앱을 생성합니다.```bashpython manage.py startapp accounts``` 3. settings.py 수정`settings.py` 파일을 열고 다음과 같이 수정합니다.```python# myproject/settings.pyINSTALLED_APPS = [ ... 'django.contrib.sites', # 추가 'allauth', 'allauth.account', 'allauth.socialaccount', 'allauth.socialaccount.providers.google', # 사용할 소셜 인증 제공자 추가 ...]# 사이트 ID 설정SITE_ID = 1# 인증 관련 설정AUTHENTICATION_BACKENDS = ( 'django.contrib.auth.backends.ModelBackend', # 기본 인증 'allauth.account.auth_backends.AuthenticationBackend', # allauth 인증)# allauth 설정ACCOUNT_EMAIL_REQUIRED = TrueACCOUNT_EMAIL_VERIFICATION = "mandatory"LOGIN_REDIRECT_URL = '/' # 로그인 후 리다이렉트할 URL``` 4. URL 설정`urls.py` 파일을 수정하여 `allauth`의 URL을 포함시킵니다.```python# myproject/urls.pyfrom django.contrib import adminfrom django.urls import path, includeurlpatterns = [ path('admin/', admin.site.urls), path('accounts/', include('allauth.urls')), # allauth URL 포함]``` 5. 데이터베이스 <a href='https://sangseek.com/sangseeks/마이그레이션/ko'>마이그레이션</a>모델을 생성하고 데이터베이스를 마이그레이션합니다.```bashpython manage.py migrate``` 6. 소셜 인증 제공자 설정Django Admin에 접속하여 소셜 인증 제공자를 설정합니다.1. `python manage.py createsuperuser` 명령어로 관리자 계정을 생성합니다.2. `http://127.0.0.1:8000/admin`에 접속하여 관리자 페이지에 로그인합니다.3. `Sites`에서 사이트를 추가하거나 수정하여 도메인을 설정합니다.4. `Social <a href='https://sangseek.com/sangseeks/applications/ko'>applications</a>`에서 사용할 소셜 인증 제공자를 추가합니다. 예를 들어 Google을 선택하고 클라이언트 ID와 클라이언트 비밀을 입력합니다. 이 정보는 Google Cloud Console에서 생성할 수 있습니다. 7. 클라이언트 ID 및 비밀 생성Google Cloud Console에서 OAuth 2.0 클라이언트 ID를 생성합니다.1. Google Cloud Console에 로그인합니다.2. 새 프로젝트를 생성합니다.3. `API 및 서비스` > `사용자 인증 정보`로 이동하여 `사용자 인증 정보 만들기` > `OAuth 클라이언트 ID`를 선택합니다.4. 애플리케이션 유형을 선택하고 필요한 정보를 입력합니다.5. 생성된 클라이언트 ID와 비밀을 Django Admin의 소셜 <a href='https://sangseek.com/sangseeks/애플리케이션 설정/ko'>애플리케이션 설정</a>에 입력합니다. 8. 로그인 및 로그아웃 템플릿소셜 로그인을 위한 버튼을 추가할 템플릿을 생성합니다. 예를 들어, `templates/base.html` 파일을 생성하고 다음과 같이 작성합니다.```html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Social Authentication</title></head><body> <h1>Welcome to My Project</h1> {% if user.is_authenticated %} <p>Hello, {{ user.username }}!</p> <a href="{% url 'account_logout' %}">Logout</a> {% else %} <a href="{% url 'account_login' %}">Login</a> <a href="{% provider_login_url 'google' %}">Login with Google</a> {% endif %}</body></html>``` 9. 서버 실행모든 설정이 완료되면 서버를 실행하여 소셜 인증 기능을 테스트합니다.```bashpython manage.py runserver```이제 웹 브라우저에서 `http://127.0.0.1:8000`에 접속하여 소셜 인증을 사용할 수 있습니다. 결론Django에서 소셜 인증을 구현하는 것은 `django-allauth` 패키지를 사용하면 매우 간단합니다. 위의 단계를 따르면 Google과 같은 소셜 미디어 계정을 통해 사용자가 로그인할 수 있는 기능을 쉽게 추가할 수 있습니다. 다른 소셜 제공자도 유사한 방식으로 추가할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기