Skip to content

파이썬 라이브러리 python-social-auth #

Find similar titles

6회 업데이트 됨.

Edit
  • 최초 작성자
    둥굴레씨
  • 최근 업데이트

Structured data

Category
Programming

내 웹사이트에 소셜 로그인 기능을 달아보자! #

최근의 웹 사이트들을 보면 회원가입을 하지 않고도 페이스북 또는 구글 아이디 등으로 로그인 할 수 있도록 지원하는 곳이 많다. 번거롭게 회원가입을 할 필요도 없으며 각 사이트마다 가입한 아이디/패스워드를 외울 필요가 없기 때문에 사용자로부터 많은 환영을 받고 있다. 이런 기능은 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를 얻는다.

  1. 페이스북 개발자 사이트 에 로그인한다.
  2. 상단 메뉴에서 "내 앱" > "새 앱 추가" > "웹사이트"를 선택후 앱 이름을 입력후 "Create New Facebook App ID"를 클릭하여 새 앱을 생성한다.
  3. Site URL에 도메인을 입력한다.
  4. 상단 우측의 "Skip"을 선택한다.
  5. 대시보드에서 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 어플리케이션에 간단하게 소셜 로그인 기능을 달 수 있다.

Suggested Pages #

0.0.1_20230725_7_v68