장고 로그인과 소셜 로그인 비교
기존의 login 방식 |
Social 계정 login 방식 |
db.sqlite3에 데이터 저장 DB와 DB를 다루는 로직이 한 공간에 있음 |
DB와 DB를 다루는 로직이 다른 공간에 있음 (Google, Facebook, Kakao, Naver 등 과 같은 서버와 연결함) |
소셜 로그인 구현 (Google)
1. $ pip install django-allauth
2. settings.py
3. urls.py
from django.urls import include
path('accounts/', include('allauth.urls'))
4. 데이터베이스, 모델, URL 등을 처리
$ python manage.py migrate
5. Django admin 으로 들어가면 Sites에 DOMAIN NAME을 지정해 주는 항목이 있습니다. 이곳에는 실제 배포한 사이트를 적어야 하지만 아직 배포하기 전이기 때문에 다음과 같이 바꿔주겠습니다.
6. https://console.developers.google.com/ 에서 Client id와 Secret key를 받아오는 과정을 진행하겠습니다.
Select a project > NEW PROJECT > CREATE
Credentials > Create credentials > OAuth client ID
Configure consent screen > Application name 작성 > Save
다시 Create OAuth client ID로 돌아와서 다음과 같이 작성해줍니다.
Create하면 다음과 같은 client ID와 client secret이 발급된 것을 볼 수 있습니다.
7. 이 두 값을 Django admin > Social Accounts > Social application > Add social application에서
각각 Client id와 Secret key에 입력해줍니다.
8. home.html
400 error가 발생한다면?
URIs에 http://127.0.0.1:8000/accounts/google/login/callback/ 추가
'Server > django' 카테고리의 다른 글
[Django] 장고 기초 - 썸네일 만들기 (0) | 2020.03.01 |
---|---|
[Django] 장고 기초 - API (0) | 2020.02.28 |
[Django] 장고 기초 - Form (0) | 2019.12.30 |
[Django] 장고 기초 - Faker (0) | 2019.12.30 |
[Django] 장고 기초 - Pagination (0) | 2019.12.29 |