Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

Django में GitHub OAuth को सक्षम करना

कई डेवलपर वेबसाइटों में, हमें 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 पर जाएं और सोशल एप्लिकेशन पर जाएं।

और, एक एप्लिकेशन जोड़ें -

Django में GitHub OAuth को सक्षम करना

क्लाइंट आईडी चिपकाएं और गुप्त कुंजी जिसे आपने पहले कॉपी किया था और नाम एप्लिकेशन का नाम होना चाहिए, प्रदाता चुनें 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" ),

]

हमने यहां यूआरएल सेट अप किया और अपने विचार प्रस्तुत किए।

सब कुछ हो गया है, अब आप आउटपुट की जांच के लिए आगे बढ़ सकते हैं।

आउटपुट


Django में GitHub OAuth को सक्षम करना


  1. Django - व्यवस्थापक आधारित फ़ाइल प्रबंधन

    हम आम तौर पर फ़्रंटएंड से फ़ाइल या छवि संबंधी परिवर्तन करते हैं। इस लेख में, हम देखेंगे कि व्यवस्थापक पैनल में फ़ाइल प्रबंधन कैसे करें, जहां हम विभिन्न प्रकार की फ़ाइल का प्रबंधन कर सकते हैं जिसे हम सर्वर से क्लाइंट को प्रस्तुत करने जा रहे हैं। उदाहरण django-filer स्थापित करें मॉड्यूल - pip install

  1. Django में एक मॉडल उदाहरण में अनुवाद जोड़ना

    इस लेख में, हम सीखेंगे कि किसी भी उदाहरण के लिए अनुवाद कैसे बनाया जाता है। कभी-कभी, आपको आईडी, नाम, उद्धरण, रेखा आदि जैसे डेटा को सहेजने की आवश्यकता हो सकती है। आपको उस डेटा को विभिन्न भाषाओं में प्रस्तुत करना पड़ सकता है; उसके लिए, आपको बहुत सारी डेटाबेस सामग्री करने की आवश्यकता है, लेकिन आज मैं आप

  1. Django में मनी फ़ील्ड कैसे जोड़ें?

    कभी-कभी, हमें किसी वेबसाइट में पैसे से संबंधित डेटा, जैसे वेतन, शुल्क या आय को जोड़ना पड़ सकता है। Django एक पूर्णांक फ़ील्ड प्रदान करता है लेकिन कई बार, यह काम नहीं करता जैसा हम चाहते हैं। इसलिए, मनी फील्ड को संभालने के लिए, हम तीसरे पैकेज की लाइब्रेरी का उपयोग कर सकते हैं जो हमारे मॉडल में मनी फील