कई डेवलपर वेबसाइटों में हमें Google सोशल ऑथेंटिकेशन देखने को मिलता है जो बहुत काम का है। इस लेख में, हम देखेंगे कि Django Google लॉगिन प्रोजेक्ट कैसे बनाया जाता है।
-
सबसे पहले, https://console.cloud.google.com/apis/dashboard पर जाएं और एक प्रोजेक्ट बनाएं।
-
पुष्टि सहमति स्क्रीन पर जाएं और एक स्क्रीन बनाएं और सहेजें और जारी रखें।
-
क्रेडेंशियल पर जाएं और "क्रेडेंशियल्स बनाएं" और फिर "OAuth क्लाइंट आईडी" पर क्लिक करें:
-
फिर, वेब एप्लिकेशन चुनें, और इन दो URL को जोड़ें -
- http://127.0.0.1:8000/
- http://127.0.0.1:8000/accounts/github/login/callback/
अब, आपको एक क्लाइंट आईडी और एक गुप्त कुंजी मिलेगी, उन्हें अपनी फ़ाइल में सुरक्षित रखें।
उदाहरण
एक Django प्रोजेक्ट और एक ऐप बनाएं।
settings.py . में -
SITE_ID = 1
LOGIN_REDIRECT_URL = "/"
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
"django.contrib.sites", # <--
"allauth", # <--
"allauth.account", # <--
"allauth.socialaccount", # <--
"allauth.socialaccount.providers.google",
"googleauthentication" #this is my app name ,you can name your app anything you want
]
SOCIALACCOUNT_PROVIDERS = {
'google': {
'SCOPE': [
'profile',
'email',
],
'AUTH_PARAMS': {
'access_type': 'online',
}
}
}
#add this in the end of file
AUTHENTICATION_BACKENDS = (
"django.contrib.auth.backends.ModelBackend",
"allauth.account.auth_backends.AuthenticationBackend",
) यहां, हमने एक रीडायरेक्ट यूआरएल परिभाषित किया है। इंस्टॉल किए गए ऐप्स में, हमने महत्वपूर्ण बैकएंड को परिभाषित किया है जिसे हम प्रमाणीकरण के लिए उपयोग करने जा रहे हैं। फिर, हमने सामाजिक खाता प्रदाता को परिभाषित किया जो बताएगा कि हमें लॉगिन के लिए क्या उपयोग करना चाहिए (यहां हम Google का उपयोग कर रहे हैं)। हमने यह भी परिभाषित किया है कि उपयोगकर्ता का कौन सा डेटा स्टोर करना चाहिए।
अब, प्रोजेक्ट के urls.py . में , निम्नलिखित जोड़ें -
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path("accounts/", include("allauth.urls")), #most important
path('',include("googleauthentication.urls")) #my app urls
] यहां, हमने जोड़ने के लिए आवश्यक डिफ़ॉल्ट पथ जोड़ा; यह Google लॉगिन को सक्षम करने के लिए अलाउथ पुस्तकालय पथ है। दूसरा ऐप पथ है जिसे हमने बनाया है।
ऐप के urls.py . में -
from django.urls import path
from . import views
urlpatterns = [
path('',views.home),
] यहां, हम अपने यूआरएल . सेट अप करते हैं और होम url पर अपने विचार प्रस्तुत किए।
view.py . में -
from django.shortcuts import render # Create your views here. def home(request): return render(request,'home.html')
हमने यहां केवल फ़्रंटएंड का प्रतिपादन किया है।
एक टेम्पलेट बनाएं ऐप की मुख्य निर्देशिका में फ़ोल्डर और एक फ़ाइल जोड़ें home.html निम्नलिखित सामग्री के साथ -
<!DOCTYPE html>
<html>
<head>
<title>Google Registration</title>
</head>
<body>
{% load socialaccount %}
<h1>My Google Login Project</h1>
<a href="{% provider_login_url 'google'%}?next=/">Login with Google</a>
</body>
</html> यहां, हमने JS का प्रतिपादन किया और allauth . को लोड किया फ्रंटएंड पर पुस्तकालय। . में हमने Google लॉगिन पृष्ठ प्रदान किया है जिस पर हमने अपना डिफ़ॉल्ट Google लॉगिन पृष्ठ सेट किया है।
अब, टर्मिनल पर निम्न कमांड चलाएँ -
python manage.py makemigrations python manage.py migrate
इसके बाद, एक सुपरयूज़र बनाएं ।
python manage.py createsuperuser
फिर, सर्वर शुरू करें और व्यवस्थापक पैनल पर जाएं। साइट पर जाएँ और url नाम और प्रदर्शन नाम वाली साइट जोड़ें:http://127.0.0.1:8000
सामाजिक एप्लिकेशन पर जाएं और एप्लिकेशन जोड़ें। वह साइट चुनें जिसे आपने पहले जोड़ा था -

यह Google को आपके Django प्रोजेक्ट पर प्रमाणीकरण बैकएंड के रूप में पंजीकृत करेगा। सब कुछ सेट हो गया है, अब आप आउटपुट की जांच के लिए आगे बढ़ सकते हैं।
आउटपुट
