장고에서 소셜인증하기 - 1. 설치
개요
네이버 아이디를 통해 장고 어플리케이션에 인증을 처리합니다.
적용할 패키지는 django-allauth로
인증, 등록, 계정 관리 및 타사 (소셜) 계정 인증을 처리할 수 있습니다.
총 3회에 걸쳐 소개합니다.
- 파이썬 패키지 설치
- 네이버 오픈API 이용 신청
- 장고에 소셜 어플리케이션 등록
사용환경
- Python 2.7, 3.3, 3.4, 3.5 or 3.6
- Django (1.11+)
- 네이버 오픈API 앱 등록 정보
파이썬 패키지 설치
장고
장고 프로젝트 또는 가상환경에서 파이썬 패키지를 설치합니다.
pip install django-allauth
settings.py
- 중의. INSTALLED_APPS에 'django.contrib.sites'가 있어야 합니다.
# 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',
# 네이버 외에 다른 오픈아이디 제공자를 추가하려면 [여기](https://tinyurl.com/y6tsrngg)에서 찾아 추가하면 됩니다.
'allauth.socialaccount.providers.naver',
)
SITE_ID = 1
LOGIN_REDIRECT_URL = '/'
urls.py
urlpatterns = [
...
url(r'^accounts/', include('allauth.urls')),
...
]
설치 후
데이터베이스 테이블을 생성합니다.
./manage.py migrate
추가 작업이 남아 있어 네이버 오픈아이디로 로그인을 할 수 없지만 장고의 기본 로그인과 로그아웃은 동작합니다.
'프로그래밍 > python' 카테고리의 다른 글
장고 한글파일 첨부시 에러 (2) | 2020.02.12 |
---|---|
장고에서 slug 사용하기 (0) | 2019.05.09 |
파이썬 사용환경 만들기 (0) | 2017.01.14 |