ধাপ ১: Django প্রজেক্ট তৈরি করা এবং প্রাথমিক সেটআপ
১.১ ভার্চুয়াল এনভায়রনমেন্ট তৈরি এবং সক্রিয় করা
প্রথমে আপনার প্রজেক্টের জন্য একটি ভার্চুয়াল এনভায়রনমেন্ট তৈরি করুন এবং তা সক্রিয় করুন। এটি Python প্যাকেজ ম্যানেজমেন্টকে সহজ করে।
# ভার্চুয়াল এনভায়রনমেন্ট তৈরি করুন
python -m venv env
# ভার্চুয়াল এনভায়রনমেন্ট সক্রিয় করুন (Windows)
env\Scripts\activate
# Linux/Mac
source env/bin/activate
১.২ Django এবং Django REST Framework ইন্সটল করা
এরপর Django এবং Django REST Framework ইন্সটল করতে হবে।
# Django এবং Django REST Framework ইন্সটল করুন
pip install django djangorestframework
১.৩ প্রজেক্ট এবং অ্যাপ তৈরি করা
এখন একটি নতুন Django প্রজেক্ট এবং অ্যাপ তৈরি করুন।
# Django প্রজেক্ট তৈরি করুন
django-admin startproject google_login_project
# প্রজেক্ট ডিরেক্টরিতে যান
cd google_login_project
# একটি নতুন অ্যাপ তৈরি করুন
python manage.py startapp accounts
১.৪ অ্যাপ এবং REST Framework সেটআপ করা
settings.py ফাইলে INSTALLED_APPS এ rest_framework এবং আমাদের নতুন অ্যাপ accounts যোগ করুন।
# google_login_project/settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# Third-party apps
'rest_framework',
# Custom apps
'accounts',
]
ধাপ ২: Google OAuth সেটআপ করার জন্য প্যাকেজ ইন্সটল করা
Google OAuth ইন্টিগ্রেশনের জন্য social-auth-app-django প্যাকেজটি ইন্সটল করুন।
# Social authentication প্যাকেজ ইন্সটল করুন
pip install social-auth-app-django
২.১ social-auth-app-django কনফিগার করা
settings.py ফাইলে প্রয়োজনীয় সেটিংস যুক্ত করুন।
# google_login_project/settings.py
INSTALLED_APPS = [
'social_django', # social-auth-app-django অ্যাপ
]
২. Middleware-এ social_django যোগ করা
social_django সঠিকভাবে কাজ করার জন্য MIDDLEWARE এ এটি যুক্ত করতে হবে।
# google_login_project/settings.py
MIDDLEWARE = [
# social_django middleware
'social_django.middleware.SocialAuthExceptionMiddleware',
]
৩. Authentication Backends
AUTHENTICATION_BACKENDS এ Google OAuth2 ব্যাকএন্ডসহ অন্যান্য প্রয়োজনীয় ব্যাকএন্ড যুক্ত করুন।
# google_login_project/settings.py
AUTHENTICATION_BACKENDS = (
'social_core.backends.google.GoogleOAuth2', # Google OAuth2 ব্যাকএন্ড
'django.contrib.auth.backends.ModelBackend', # ডিফল্ট Django ব্যাকএন্ড
)
৪. Social Auth সেটিংস
settings.py ফাইলে Google OAuth এর জন্য SOCIAL_AUTH_GOOGLE_OAUTH2_KEY এবং SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET সেট করুন।
# google_login_project/settings.py
SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = 'আপনার-গুগল-ক্লায়েন্ট-আইডি'
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = 'আপনার-গুগল-ক্লায়েন্ট-সিক্রেট'
# Social Auth settings
LOGIN_URL = 'login'
LOGOUT_URL = 'logout'
LOGIN_REDIRECT_URL = 'home'
LOGOUT_REDIRECT_URL = 'home'
৫. URL কনফিগারেশন
urls.py ফাইলে social_django থেকে প্রয়োজনীয় URL প্যাটার্ন যুক্ত করুন।
# google_login_project/urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('auth/', include('social_django.urls', namespace='social')), # social_django URLs
]
In case you need a custom namespace, this setting is also needed:
SOCIAL_AUTH_URL_NAMESPACE = 'social'
৬. Google Developer Console এ Redirect URI সেটআপ করা
Google Developer Console এ আপনার OAuth 2.0 ক্লায়েন্ট আইডি সেটআপ করার সময় এই Redirect URI যোগ করতে ভুলবেন না:
http://localhost:8000/auth/complete/google/
৭. মাইগ্রেশন চালানো
python manage.py migrate