Social Login
Django의 allauth라는 pip 패키지로 보편적인 소셜 로그인 기능을 구현해볼 것이다
settings.py에 ‘django.contrib.sites’와 allauth관련 3가지 코드를 넣어주자
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.sites',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'community.apps.CommunityConfig',
# allauth
'allauth',
'allauth.account',
'allauth.socialaccount',
# provider
'allauth.socialaccount.providers.google',
]
provider는 원하는 소셜 로그인을 찾아 주가해줄 수 있다
settings.py 최하단에 이렇게 추가해주자
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
'allauth.account.auth_backends.AuthenticationBackend',
)
SITE_ID = 1
LOGIN_REDIRECT_URL ='/' # 로그인 되었을 때 이동할 주소
urls.py에 include를 import 해주고
from django.urls import path, include
path는 이런식으로 넣어준다
path('accounts/', include('allauth.urls')),
해당 사이트에 들어가서 새로운 프로젝트를 생성해준다
Google Cloud Platform
하나의 계정으로 모든 Google 서비스를 Google Cloud Platform을 사용하려면 로그인하세요.
accounts.google.com
API 및 서비스 > 사용자 인증 정보 > 사용자 인증 정보 만들기 > OAuth ID 만들기
admin/ 페이지에서 Social applications > ADD SOCIAL APPLICATION으로 들어가서
html 파일에 대충 로그인/로그아웃 회원가입을 구성했다
{%load socialaccount %}
{% providers_media_js %}
<a href="/accounts/signup">회원가입</a> <br>
{% if user.is_authenticated %}
<a href="/accounts/logout">로그아웃</a> <br>
{{user.username}} 님이 로그인 중
{% else %}
<a href = "{% provider_login_url 'google' %}"> 구글 로그인 </a>
로그인 하세용
{%endif%}
API
API(Application Programming Interface)란?
API를 사용하려면 소셜로그인처럼 API 키값을 받아와야 한다
예를 들어, 네이버 지도 API를 활용하려면 네이버 클라우드 플랫폼에 회원가입해준다
NAVER CLOUD PLATFORM
cloud computing services for corporations, IaaS, PaaS, SaaS, with Global region and Security Technology Certification
www.ncloud.com
원하는 API서비스를 찾아주고 > 이용 신청하기
NAVER CLOUD PLATFORM
cloud computing services for corporations, IaaS, PaaS, SaaS, with Global region and Security Technology Certification
www.ncloud.com
Application 등록 > 이름 설정 > Web Dynamic Map 체크 > 서비스 환경 등록
예시 문서에 다양한 예제 코드가 있다
NAVER Maps API v3
NAVER Maps API v3로 여러분의 지도를 만들어 보세요. 유용한 기술문서와 다양한 예제 코드를 제공합니다.
navermaps.github.io
<script type="text/javascript" src="https://openapi.map.naver.com/openapi/v3/maps.js?ncpClientId=YOUR_CLIENT_ID"></script>
예제 코드를 그대로 넣어주고 CLIENT_ID에 발급받은 인증 정보를 넣어주면 된다
var mapOptions = {
center: new naver.maps.LatLng(37.3595704, 127.105399),
zoom: 10
};
처음 표시하고 싶은 위도와 경도, 줌을 커스텀 할 수 있다
본 내용은 멋쟁이사자처럼의 '9기 운영진 교육'을 바탕으로 작성되었습니다.
'Back-end > Django' 카테고리의 다른 글
HUFS Live (6) | 2021.08.27 |
---|---|
[HUFS/HUFStudy] #8 PostgreSQL 연동, Heroku 배포 (10) | 2021.08.06 |
[HUFS/HUFStudy] #6 Form (4) | 2021.07.30 |
[HUFS/HUFStudy] #5 로그인/회원가입, Pagination (8) | 2021.07.28 |
[HUFS/HUFStudy] #4 Path Converter, 글쓰기, Static/Media, 템플릿 상속, URL (2) | 2021.07.18 |