상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
태평양의 철도와 해상 교통의 차이는 무엇인가요?
태평양의 조류 에너지원 개발 현황은 어떻게 되나요?
여자한테 고백 멘트를 할 때 나만의 특별한 터치를 추가하는 이유는?
썸탈때 손깍지는 데이트의 필수 요소인가요?
상추와 같은 이름을 가진 다른 식물은 무엇인가요?
상악동 염증이 재발하지 않게 하려면 어떻게 해야 하나요?
손깍지를 하던 중 불편한 상황이 생긴다면 어떻게 해야 할까?
횡렬을 활용한 통계 분석 방법은 무엇인가요?
양상추는 세계에서 가장 많이 소비되는 채소인가요?
소개팅 만나서 사귀고 한달만에 헤어짐 후 다시 연애를 해보고 싶나요?
소개팅 만나서 사귀고 한달만에 헤어짐을 지켜보며 친구들은 어떤 반응을 보였나요?
소개팅 만나서 사귀고 한달만에 헤어짐 후 무언가 새로운 시작을 가족과 친구들에게 알렸나요?
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순위입니다.
수정하기
취소하기