본문 바로가기

Programming/Django

[02. Django-allauth] 001. 로그인 화면 추가

728x90

최근엔 SNS 로그인이 필수로 자리매김했다. 복잡한 가입절차 없이 기존에 가지고 있는 대표적인 SNS정보를 통해 바로 가입 및 로그인이 되기 때문에 편리하다.

 

pip install django-allauth

pip install pyjwt

 

위 두개의 라이브러리를 설치한다.

 

그리고 setting.py 안에

INSTALLED_APPS = [
    ...
'django.contrib.sites',  # 필수
    'allauth',
    'allauth.account',
    'allauth.socialaccount',
    # 사용할 소셜 제공자(provider) 추가
    'allauth.socialaccount.providers.google',
    'allauth.socialaccount.providers.facebook',
    'allauth.socialaccount.providers.kakao',
    'allauth.socialaccount.providers.naver',
]

MIDDLEWARE = [
    ...
    'allauth.account.middleware.AccountMiddleware',
]

AUTHENTICATION_BACKENDS = [
'django.contrib.auth.backends.ModelBackend',
'allauth.account.auth_backends.AuthenticationBackend'
]

LOGIN_REDIRECT_URL = '/'  # 소셜로그인 인증이 완료된 이름 돌아갈 페이지
ACCOUNT_LOGOUT_REDIRECT_URL = '/' # 로그아웃 이후 돌아갈 페이지

 

위 항목들이 다 있는지 확인한다. 없으면 입력한다.

 

python manage.py migrate

 

마이그레이션 해준다.

 

[그림 2.1] 관리자 페이지에 생성된 테이블

 

그리고 Sites에 가서 개발하는 사이트 주소인 127.0.0.1:8000 를 등록해준다.

728x90