Server/django

[Django] 장고 기초 - 소셜 로그인 (Google)

또잉코딩 2019. 12. 31. 22:35

장고 로그인과 소셜 로그인 비교

기존의 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