Django-allauth 문서
Django-allauth는 Django 어플리케이션에서 서드파티(소셜) 계정을 인증, 등록, 관리 할수 있는 라이브러리
Django로 만든 웹에서 구글, 카카오, 네이버, 깃허브 등 소셜 계정을 통합관리하는 편리한 라이브러리
내가 만든 Django 웹에서 소셜 로그인 기능을 쉽고 빠르게 추가할 수 있다.
pip install django-allauth
# Specify the context processors as follows:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
# Already defined Django-related contexts here
# `allauth` needs this from django
'django.template.context_processors.request',
],
},
},
]
AUTHENTICATION_BACKENDS = [
...
# Needed to login by username in Django admin, regardless of `allauth`
'django.contrib.auth.backends.ModelBackend',
# `allauth` specific authentication methods, such as login by e-mail
'allauth.account.auth_backends.AuthenticationBackend',
...
]
INSTALLED_APPS = [
...
# The following apps are required:
'django.contrib.auth',
'django.contrib.messages',
'django.contrib.sites',
'allauth',
'allauth.account',
'allauth.socialaccount',
# ... include the providers you want to enable:
# 사용할 부분만 추가하기
'allauth.socialaccount.providers.google',
'allauth.socialaccount.providers.kakao',
'allauth.socialaccount.providers.naver',
...
]
# 반드시 추가해야 함
# 관련된 오류가 생기면 숫자를 바꾸거나, 장고쉘을 사용하거나 DB에 저장된 값을 바꾸면 됨
SITE_ID = 1
# Provider specific settings
# 필요한 PROVIDER일 경우, 양식에 맞추어 작성
SOCIALACCOUNT_PROVIDERS = {
'google': {
# For each OAuth based provider, either add a ``SocialApp``
# (``socialaccount`` app) containing the required client
# credentials, or list them here:
'APP': {
'client_id': '123',
'secret': '456',
'key': ''
}
}
}
urlpatterns = [
...
path('accounts/', include('allauth.urls')),
...
]
python manage.py migrate
여기까지 하면 기본 설치가 완료된다.
Django 서버를 실행하고 http://127.0.0.1/accounts/login/ 에 접속해서 다음과 같은 화면을 보면 성공이다!
Django-allauth에서 제공하는 페이지이기 때문에 내가 만든 웹페이지와 다른 모습이다.
다음에는 내가 만든 웹페이지에 연결하는 방법을 알아보자.