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