कई डेवलपर वेबसाइटों में, हमें 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
फिर, आपको एक क्लाइंट आईडी और एक गुप्त कुंजी मिलेगी। अब, कोडिंग भाग पर चलते हैं।
उदाहरण
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 इंस्टॉल किए गए एपीपीएस, हमने अपनी जरूरत के आयात पुस्तकालयों को जोड़ा और फिर हमने गिटहब डिफ़ॉल्ट प्रमाणीकरण बैकएंड जोड़ा। हमने एक रीडायरेक्ट यूआरएल भी सक्षम किया है जो बताएगा कि लॉगिन पर कहां रीडायरेक्ट करना है।
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")) ]
यहां, हमने जोड़ने के लिए आवश्यक डिफ़ॉल्ट पथ जोड़ा; यह GitHub लॉगिन को सक्षम करने के लिए allauth लाइब्रेरी पथ है। दूसरा ऐप पथ है जिसे हमने बनाया है।
अब https://localhost:8000/admin पर जाएं और सोशल एप्लिकेशन पर जाएं।
और, एक एप्लिकेशन जोड़ें -
क्लाइंट आईडी चिपकाएं और गुप्त कुंजी जिसे आपने पहले कॉपी किया था और नाम एप्लिकेशन का नाम होना चाहिए, प्रदाता चुनें github.
साइटों . में अनुभाग में, example.com . क्लिक करें और फिर एरो की पर क्लिक करें और सेव को हिट करें। यह github register को पंजीकृत करेगा प्रमाणीकरण बैकएंड के रूप में आपके Django प्रोजेक्ट पर।
अब, home.html create बनाएं टेम्पलेट्स . में फ़ोल्डर और निम्न पंक्तियाँ जोड़ें -
<!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 . को लोड किया फ्रंटएंड पर पुस्तकालय। . में हमने जीथब लॉगिन पेज प्रदान किया है जिस पर हमने अपना डिफ़ॉल्ट जीथब लॉगिन पेज सेट किया है।
view.py . में -
from django.shortcuts import render # Create your views here. def home(request): return render(request,"home.html")
हमने अपना फ़्रंटएंड यहां प्रस्तुत किया है
urls.py . में (एप्लिकेशन यूआरएल) -
from django.urls import path,include from . import views urlpatterns = [ path('',views.home, name="Home" ), ]
हमने यहां यूआरएल सेट अप किया और अपने विचार प्रस्तुत किए।
सब कुछ हो गया है, अब आप आउटपुट की जांच के लिए आगे बढ़ सकते हैं।
आउटपुट