Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

เปิดใช้งาน GitHub OAuth ใน Django


ในเว็บไซต์นักพัฒนาซอฟต์แวร์หลายแห่ง เราจะได้เห็นการรับรองความถูกต้องทางสังคมของ GitHub ซึ่งมีประโยชน์มาก ในบทความนี้ เราจะมาดูวิธีการเพิ่ม Github Auth ในเว็บไซต์ Django ของเรา

ไปที่ https://github.com/settings/developers/ และสร้างแอปพลิเคชัน Oauth และเพิ่ม URL ทั้งสองนี้

  • https://127.0.0.1:8000/

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

จากนั้น คุณจะได้รับรหัสลูกค้าและรหัสลับ ตอนนี้ ไปที่ส่วนการเข้ารหัสกันเถอะ

ตัวอย่าง

ติดตั้ง 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 นอกจากนี้เรายังเปิดใช้งาน Redirect URL ซึ่งจะบอกตำแหน่งที่จะเปลี่ยนเส้นทางเมื่อเข้าสู่ระบบ

ใน urls.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"))
]

ที่นี่ เราได้เพิ่มพาธเริ่มต้นที่จำเป็นในการเพิ่ม เป็นเส้นทางไลบรารี allauth สำหรับเปิดใช้งานการเข้าสู่ระบบ GitHub อันที่สองคือเส้นทางของแอปที่เราสร้างขึ้น

ตอนนี้ไปที่ https://localhost:8000/admin และไปที่แอปพลิเคชันโซเชียล

และเพิ่มแอปพลิเคชัน −

เปิดใช้งาน GitHub OAuth ใน Django

วาง รหัสลูกค้า และ รหัสลับ ที่คุณคัดลอกมาก่อนหน้านี้และชื่อควรเป็นชื่อแอปพลิเคชัน เลือกผู้ให้บริการ 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")

เราแสดงส่วนหน้าของเราที่นี่

ใน urls.py (url ของแอพ) −

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

]

เราตั้งค่า URL ที่นี่และแสดงผลมุมมองของเรา

ทุกอย่างเสร็จสิ้น ตอนนี้คุณสามารถดำเนินการตรวจสอบผลลัพธ์ได้

ผลลัพธ์


เปิดใช้งาน GitHub OAuth ใน Django