कई डेवलपर वेबसाइट्स पर हमें गूगल सोशल ऑथेंटिकेशन देखने को मिलता है जो बहुत सुविधाजनक है। इस लेख में, हम देखेंगे कि Django गूगल लॉगिन प्रोजेक्ट कैसे बनाया जाए।
सबसे पहले, https://console.cloud.google.com/apis/dashboard पर जाएं और एक प्रोजेक्ट बनाएं।
OAuth consent screen पर जाएं और एक स्क्रीन बनाएं और सेव एंड कंटिन्यू करें।
Credentials पर जाएं और "create credentials" पर क्लिक करें और फिर "OAuth client ID":
फिर, वेब एप्लिकेशन चुनें, और ये दो URLs जोड़ें:
- https://127.0.0.1:8000/
- https://127.0.0.1:8000/accounts/github/login/callback/
अब, आपको एक क्लाइंट ID और एक सीक्रेट की मिलेगी, उन्हें अपनी फाइल में सुरक्षित रखें।
उदाहरण
एक 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" # यह मेरा ऐप नाम है, आप अपने ऐप को कुछ भी नाम दे सकते हैं
]
SOCIALACCOUNT_PROVIDERS = {
'google': {
'SCOPE': [
'profile',
'email',
],
'AUTH_PARAMS': {
'access_type': 'online',
}
}
}
# फाइल के अंत में यह जोड़ें
AUTHENTICATION_BACKENDS = (
"django.contrib.auth.backends.ModelBackend",
"allauth.account.auth_backends.AuthenticationBackend",
)
यहां, हमने एक रीडायरेक्ट URL परिभाषित किया। INSTALLED_APPS में, हमने उन महत्वपूर्ण बैकएंड्स को परिभाषित किया जिनका उपयोग हम प्रमाणीकरण के लिए करने जा रहे हैं। फिर, हमने सोशल अकाउंट प्रोवाइडर परिभाषित किया जो बताएगा कि लॉगिन के लिए क्या उपयोग करना है (यहां हम गूगल का उपयोग कर रहे हैं)। हमने यह भी परिभाषित किया कि यूजर का कौन सा डेटा स्टोर करना चाहिए।
अब, प्रोजेक्ट के 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("googleauthentication.urls")) # मेरा ऐप urls
]
यहां, हमने वह डिफ़ॉल्ट पथ जोड़ा जिसे जोड़ना आवश्यक है; यह गूगल लॉगिन इनेबल करने के लिए allauth लाइब्रेरी पथ है। दूसरा वह ऐप पथ है जिसे हमने बनाया।
ऐप के urls.py में:
from django.urls import path
from . import views
urlpatterns = [
path('', views.home),
]
यहां, हमने अपने urls सेट किए और होम url पर अपना व्यू रेंडर किया।
view.py में:
from django.shortcuts import render
def home(request):
return render(request, 'home.html')
हमने यहां बस फ्रंटएंड रेंडर किया।
ऐप के मेन डायरेक्टरी में एक template फोल्डर बनाएं और निम्नलिखित कंटेंट के साथ 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 लाइब्रेरी लोड की। <a> में हमने गूगल लॉगिन पेज प्रदान किया जिस पर हमने अपना डिफ़ॉल्ट गूगल लॉगिन पेज सेट किया।
अब, टर्मिनल पर निम्नलिखित कमांड चलाएं:
python manage.py makemigrations python manage.py migrate
अगला, एक सुपरयूजर बनाएं।
python manage.py createsuperuser
फिर, सर्वर शुरू करें और एडमिन पैनल पर जाएं। Sites पर जाएं और url नाम और डिस्प्ले नाम के साथ एक साइट जोड़ें: https://127.0.0.1:8000
Social applications पर जाएं और एप्लिकेशन जोड़ें। पहले जोड़ी गई साइट चुनें:

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