August 11, 2020
소셜로그인이란 네이버, 구글에서 기존에 사용하던 회원정보를 통해 회원가입 및 로그인 할 수 있는 기능입니다.
Django-allauth는 소셜 인증 정보를 처리하는 장고의 응용 프로그램입니다. 두 웹사이에서 공유해야하는 정보를 관리하여 로그인, 로그아웃, 회원가입, 계정관리 등등의 통합적인 기능을 제공합니다.
공식문서 : https://github.com/pennersr/django-allauth
사이트 프레임워크는 장고로 만든 사이트의 도메인이름과 같은 기본 정보를 보관하는 곳 입니다. 이름 설정을 통해 제작한 기능을 웹사이트에 연결할 때 사용합니다. 이러한 사이트 프레임워크는 다음 기능을 수행할 때 유용합니다.
장고에서 다중의 사이트를 관리할 때 -> 작성된 view코드에서 설정한 sites의 객체들을 호출할 수도 있습니다. 예시 :
def example(request):
if settings.SITE_ID == '1':
1에 설정해둔 페이지 기능
elif settings.SITE_ID == '2':
2에 설정해둔 페이지 기능
else:
예외처리
AUTHENTICATION_BACKENDS는 인증을 할 때 돌 모델을 설정하는 공간입니다. 튜플로 구성되어 있으며 이 안에 모델을 작성하면 순서대로 인증을 시도하게 됩니다. 디폴트로 django.contrib.auth.backends.ModelBackend를 통해 인증하게 되어있으며 이를 변경하고 싶다면 아래의 코드처럼 settings.py에 설정해주면 됩니다.
AUTHENTICATION_BACKENDS = [
'allauth.account.auth_backends.AuthenticationBackend', # 소셜로그인 회원정보모델
'django.contrib.auth.backends.ModelBackend', # Django 기본 회원정보 모델
]