파이썬
라이브러리
python-social-auth
#
Find similar titles
- 최초 작성자
-
최근 업데이트
bjpark@insilicogen.com
Structured data
- Category
- Programming
Table of Contents
내 웹사이트에 소셜 로그인 기능을 달아보자! #
최근의 웹 사이트들을 보면 회원가입을 하지 않고도 페이스북 또는 구글 아이디 등으로 로그인 할 수 있도록 지원하는 곳이 많다. 번거롭게 회원가입을 할 필요도 없으며 각 사이트마다 가입한 아이디/패스워드를 외울 필요가 없기 때문에 사용자로부터 많은 환영을 받고 있다. 이런 기능은 OAuth라는 기술 때문에 가능한 것인데 이와 관련된 여러 라이브러리 중 파이썬 라이브러리인 python-social-auth 를 이용하여 페이스북 연동 로그인을 구현하는 방법을 소개하고자 한다.
Django 어플리케이션에 페이스북 로그인 연동하기 #
모듈 설치 #
pip명령어를 통해 간단하게 설치할 수 있다.
pip install python-social-auth
Django settings.py 수정하기 #
settings.py를 아래와 같이 수정한다.
INSTALLED_APPS += (
'social.apps.django_app.default',
)
TEMPLATES
Django urls.py 수정하기 #
urls.py에 아래 코드를 추가한다.
url(r'', include('social.apps.django_app.urls', namespace='social')),
Django templates 로그인 기능 붙이기 #
로그인 템플레이트에 아래 코드를 추가한다.
<a href="{% url 'social:begin' 'facebook' %}?next={{ request.path }}">Login with Facebook</a>
Facebook App 추가하기 #
아래 과정을 통해 Facebook App 추가하여 ID 및 key를 얻는다.
- 페이스북 개발자 사이트 에 로그인한다.
- 상단 메뉴에서 "내 앱" > "새 앱 추가" > "웹사이트"를 선택후 앱 이름을 입력후 "Create New Facebook App ID"를 클릭하여 새 앱을 생성한다.
- Site URL에 도메인을 입력한다.
- 상단 우측의 "Skip"을 선택한다.
- 대시보드에서 App ID와 Secret Key를 잘 기록하여 둔다.
Django settings.py에 Key 입력 #
위에서 얻은 ID와 Key를 setting.py에 추가하여 준다.
SOCIAL_AUTH_FACEBOOK_KEY = 'App ID'
SOCIAL_AUTH_FACEBOOK_SECRET = 'Secret Key'
Django login template 수정하기 #
로그인 템플레이트에
다음 아래 코드를 추가하여 준다.<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'App ID',
xfbml : true,
version : 'v2.7'
});
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
마무리 #
위 방법을 통해 Django 어플리케이션에 간단하게 소셜 로그인 기능을 달 수 있다.