ในเว็บไซต์นักพัฒนาซอฟต์แวร์หลายแห่ง เราจะได้เห็นการรับรองความถูกต้องทางสังคมของ GitHub ซึ่งมีประโยชน์มาก ในบทความนี้ เราจะมาดูวิธีการเพิ่ม Github Auth ในเว็บไซต์ Django ของเรา
ไปที่ https://github.com/settings/developers/ และสร้างแอปพลิเคชัน Oauth และเพิ่ม URL ทั้งสองนี้
-
http://127.0.0.1:8000/
-
http://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 อันที่สองคือเส้นทางของแอปที่เราสร้างขึ้น
ตอนนี้ไปที่ http://localhost:8000/admin และไปที่แอปพลิเคชันโซเชียล
และเพิ่มแอปพลิเคชัน −

วาง รหัสลูกค้า และ รหัสลับ ที่คุณคัดลอกมาก่อนหน้านี้และชื่อควรเป็นชื่อแอปพลิเคชัน เลือกผู้ให้บริการ 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 ที่นี่และแสดงผลมุมมองของเรา
ทุกอย่างเสร็จสิ้น ตอนนี้คุณสามารถดำเนินการตรวจสอบผลลัพธ์ได้
ผลลัพธ์
