소셜로그인
구글 및 네이버 등 다양한 소셜 로그인을 Django에서 활용할 수 있다.
## 기능 구현을 위해 사용할 패키지 allauth
1 | $ pip install django-allauth | cs |
## settings.py
1 2 3 4 5 6 7 8 9 10 11 12 13 | INSTALLED_APPS = [ ... 'django.contrib.sites', ... # allauth 'allauth', 'allauth.account', 'allauth.socialaccount', # provider 'allauth.socialaccount.providers.google', # 원하는 사이트 마지막에 google 대신 추가 ] | cs |
1 2 3 4 5 6 | AUTHENTICATION_BACKENDS=( 'django.contrib.auth.backends.ModelBackend', 'allauth.account.auth_backends.AuthenticationBackend', ) SITE_ID=1 LOGIN_REDIRECT_URL = '/' | cs |
## url 처리
1 2 3 4 5 | # project/project/urls.py urlpatterns=[ ... path('accounts/',include('allauth.urls')), ] | cs |
## migrate 해주기
1 | $ python manage.py migrate | cs |
## admin 설정 수정하기
1) Home>Sites>Sites>example.com 에서
127.0.0.1:8000 로 수정
2) Home>Social Accounts> Social Applications>add...
provider - google 추가하기
(1) 이름 아무거나 써주고
(2) client id, secret key 알아오기(console.developers.google.com)
(3) new project 만들고 credentials 에서 인증정보 만들기_Oauth Client ID 클릭_web 클릭
(4) javascript, redirect 주소 정보에 http://127.0.0.1:8000 입력
(5) admin 페이지 돌아와서 발급받은 정보 입력
(6) admin 페이지 돌아와서 site에 주소 입력해두기
## template 처리
1 2 3 4 | # project/accouts/templates/login.html {% load socialaccount %} {% providers_media_js %} <a href="{% provider_login_url 'google' %}"> 구글 로그인 </a> | cs |
## 400 에러 뜨면 redirect에 해당 url 추가하기!!
## 완성
'Web Programming > Django' 카테고리의 다른 글
Heroku 배포하기 (0) | 2019.02.26 |
---|---|
Blog 보충(로그인 요구, 내가 쓴글) (2) | 2019.02.26 |
네이버 지도 API 활용하기 (0) | 2019.02.22 |
댓글 기능 추가하기(모델 관계) (0) | 2019.02.20 |
Django 장고 텍스트에디터 사용하기(CKeditor) (4) | 2019.02.19 |