Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Django에서 GitHub OAuth 활성화

<시간/>

많은 개발자 웹사이트에서 매우 편리한 GitHub 소셜 인증을 볼 수 있습니다. 이 기사에서는 Django 웹사이트에 Github Auth를 추가하는 방법을 살펴보겠습니다.

https://github.com/settings/developers/로 이동하여 Oauth 애플리케이션을 만들고 이 두 URL을 추가합니다.

  • https://127.0.0.1:8000/

  • https://127.0.0.1:8000/accounts/github/login/callback

그런 다음 클라이언트 ID와 비밀 키를 받습니다. 이제 코딩 부분으로 넘어가 보겠습니다.

예시

django-allauth 설치 라이브러리 -

pip install django-allauth

settings.py에서 다음 코드 줄 추가 -

INSTALLED_APPS = [
   ##################
#
#
#
#

   'django.contrib.sites',
   'allauth',
   'allauth.account',
   'allauth.socialaccount',
   'allauth.socialaccount.providers.github',
   'githubAuthentication'
]

SITE_ID = 1
AUTHENTICATION_BACKENDS= [
   'django.contrib.auth.backends.ModelBackend',
   'allauth.account.auth_backends.AuthenticationBackend'
]

LOGIN_REDIRECT_URL="https://github.com"

n 설치된 앱, 필요한 가져오기 라이브러리를 추가한 다음 GitHub 기본 인증 백엔드를 추가했습니다. 또한 로그인 시 리디렉션할 위치를 알려주는 리디렉션 URL을 활성화했습니다.

url.py에서 프로젝트 루트 -

from django.contrib import admin
from django.urls import path,include

urlpatterns = [
   path('admin/', admin.site.urls),

   # this is module path copy this as it is
path('accounts/', include('allauth.urls')),

# this is my app path
path('', include("githubAuthentication.urls"))
]

여기에 추가하는 데 필요한 기본 경로를 추가했습니다. GitHub 로그인을 활성화하기 위한 allauth 라이브러리 경로입니다. 두 번째는 우리가 만든 앱 경로입니다.

이제 https://localhost:8000/admin으로 이동하여 소셜 애플리케이션으로 이동합니다.

그리고, 응용 프로그램을 추가하십시오 -

Django에서 GitHub OAuth 활성화

클라이언트 ID 붙여넣기 및 비밀 키 이전에 복사한 이름이 애플리케이션 이름이어야 하는 경우 공급자 github를 선택합니다.

사이트에서 섹션에서 example.com을 클릭합니다. 그런 다음 화살표 키를 클릭하고 저장을 누르십시오. 그러면 github가 등록됩니다. Django 프로젝트에서 인증 백엔드로 사용합니다.

이제 home.html을 만듭니다. 템플릿에서 폴더에 다음 줄을 추가하십시오 -

<!DOCTYPE html>
<html>
   <head>
      <title>tut</title>
    </head>
    <body>
      {% load socialaccount %}
      {% providers_media_js %}
<a href="{% provider_login_url 'github' method='js_sdk' %}?n
ext=https://github.com">login with github</a>
   </body>
</html>

여기서는 단순히 JS를 렌더링하고 allauth를 로드했습니다. 프론트엔드의 라이브러리. 에서 우리는 기본 github 로그인 페이지를 설정하는 github 로그인 페이지를 제공했습니다.

view.py에서 -

from django.shortcuts import render

# Create your views here.
def home(request):
   return render(request,"home.html")

여기에서 프론트엔드를 렌더링했습니다.

url.py에서 (앱 URL) -

from django.urls import path,include
from . import views
urlpatterns = [
   path('',views.home, name="Home" ),

]

여기에서 URL을 설정하고 뷰를 렌더링했습니다.

모든 작업이 완료되었으므로 이제 출력을 확인할 수 있습니다.

출력


Django에서 GitHub OAuth 활성화