कई डेवलपर वेबसाइट्स पर हमें GitHub सोशल ऑथेंटिकेशन देखने को मिलता है जो बहुत सुविधाजनक है। इस लेख में, हम देखेंगे कि अपनी Django वेबसाइट में Github Auth कैसे जोड़ें।
https://github.com/settings/developers/ पर जाएं और एक OAuth एप्लिकेशन बनाएं और ये दो URLs जोड़ें:
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"
INSTALLED_APPS में, हमने वे इम्पोर्ट लाइब्रेरी जोड़ीं जिनकी हमें आवश्यकता है और फिर हमने GitHub डिफ़ॉल्ट प्रमाणीकरण बैकएंड जोड़ा। हमने एक रीडायरेक्ट URL भी इनेबल किया जो बताएगा कि लॉगिन पर कहां रीडायरेक्ट करना है।
urls.py प्रोजेक्ट रूट में:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
# यह मॉड्यूल पथ है इसे कॉपी करें जैसा है
path('accounts/', include('allauth.urls')),
# यह मेरा ऐप पथ है
path('', include("githubAuthentication.urls"))
]
यहां, हमने वह डिफ़ॉल्ट पथ जोड़ा जिसे जोड़ना आवश्यक है; यह GitHub लॉगिन इनेबल करने के लिए allauth लाइब्रेरी पथ है। दूसरा वह ऐप पथ है जिसे हमने बनाया।
अब https://localhost:8000/admin पर जाएं और सोशल एप्लिकेशन पर जाएं।
और, एक एप्लिकेशन जोड़ें:

पहले कॉपी किए गए क्लाइंट ID और सीक्रेट की पेस्ट करें और नाम एप्लिकेशन नाम होना चाहिए, प्रोवाइडर github चुनें।
साइट्स सेक्शन में, example.com पर क्लिक करें और फिर एरो की पर क्लिक करें और सेव दबाएं। यह github को आपके Django प्रोजेक्ट पर प्रमाणीकरण बैकएंड के रूप में रजिस्टर करेगा।
अब, templates फोल्डर में 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' %}?next=https://github.com">login with github</a>
</body>
</html>
यहां, हमने बस JS रेंडर किया और फ्रंटएंड पर allauth लाइब्रेरी लोड की। <a> में हमने github लॉगिन पेज प्रदान किया जिस पर हमने अपना डिफ़ॉल्ट github लॉगिन पेज सेट किया।
view.py में:
from django.shortcuts import render
def home(request):
return render(request, "home.html")
हमने यहां अपना फ्रंटएंड रेंडर किया।
urls.py (ऐप urls) में:
from django.urls import path, include
from . import views
urlpatterns = [
path('', views.home, name="Home"),
]
हमने यहां urls सेट किए और अपने व्यूज रेंडर किए।
सब कुछ हो गया, अब आप आउटपुट जांचने के लिए आगे बढ़ सकते हैं।
आउटपुट
