Allauth는 장고에서 소셜 로그인을 구현할 수 있는 라이브러리이다.
pip install django-allauth
# settings.py
INSTALLED_APPS = [
...
# allauth
'django.contrib.sites',
'allauth',
'allauth.account',
'allauth.socialaccount',
'allauth.socialaccount.providers.kakao',
...
]
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
'allauth.account.auth_backends.AuthenticationBackend',
)
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [BASE_DIR / 'templates'],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
...
'django.contrib.messages.context_processors.messages',
],
},
},
]
SITE_ID = 1
# 로그아웃시 이동하는 URL
LOGOUT_REDIRECT_URL = '/'
#카카오톡 소셜 로그인 리다이렉트 설정
SITE_ID = 1
LOGIN_REDIRECT_URL = '/' # 로그인 후 리다이렉트 될 경로
나는 카카오톡을 사용했기 때문에
allauth.socialaccount.providers.kakao
를 installed_apps에 추가했다.
#urls.py
urlpatterns = [
...
path('accounts/', include('allauth.urls')),
...
]
python manage.py migrate
(카카오 디벨로퍼에서 콜백 URL 지정 등 세부 설정을 완료해야 한다)