কম্পিউটার টিউটোরিয়াল

ডজ্যাঙ্গোতে ভিউ ছাড়া Djoser ব্যবহার করে টোকেন অথেনটিকেশন

Djoser ডজ্যাঙ্গোর জন্য একটি সহজ অথেনটিকেশন লাইব্রেরি। এটি অথেনটিকেশনের জন্য টোকেন জেনারেট করতে ব্যবহৃত হয়; এই জেনারেট করা টোকেন তিনটি ফিল্ড নেয়: username, email এবং password। এটি শুধু POST রিকোয়েস্টে কাজ করে, কিন্তু আপনি এর ফ্রন্টএন্ড যোগ করতে পারেন।

উদাহরণ

একটি ডজ্যাঙ্গো প্রজেক্ট এবং একটি অ্যাপ তৈরি করুন। আমি এদের নাম দিয়েছি "DjoserExample" এবং "myapp"।

দুটি প্যাকেজ ইনস্টল করুন:

pip install djoser
pip install djangorestframework

settings.py-তে নিচের লাইনগুলো যোগ করুন:

INSTALLED_APPS = [
    # অন্যান্য অ্যাপের নিচে
    'myapp',
    'rest_framework',
    'rest_framework.authtoken',
    'djoser'
]

# Template variable এর নিচে
REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework.authentication.TokenAuthentication',
    ),
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.IsAuthenticated',
    ]
}

DJOSER = {
    "USER_ID_FIELD": "username"
}

এখানে আমরা djoser এবং restframework-কে অ্যাপ হিসেবে যোগ করেছি। তারপর REST framework-এর অথেনটিকেশন ব্যাকএন্ড এবং djoser-এর জন্য User ID ফিল্ড (অর্থাৎ ইনডেক্স ফিল্ড) যোগ করেছি।

আমরা ডজ্যাঙ্গোর ডিফল্ট User Authentication ডাটাবেস ব্যবহার করছি, তাই আসলে আমাদের কোনো অ্যাপ দরকার নেই।

প্রজেক্টের urls.py-এ যান এবং নিচের লাইনগুলো যোগ করুন:

from django.contrib import admin
from django.urls import path, include, re_path

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('myapp.urls')),
    path(r'api/v1/', include('djoser.urls')),
    path(r'api/v1/token/login', include('djoser.urls.authtoken'))
]

এখানে আমরা djoser admin url এবং তারপর djoser authentication backend সংজ্ঞায়িত করেছি।

এতটুকু হলে সব কিছু সেট। এখন টার্মিনালে এই কমান্ডগুলো রান করুন এবং আউটপুট চেক করুন:

python manage.py makemigrations
python manage.py migrate
python manage.py runserver

আউটপুট

https://127.0.0.1:8000/api/v1/users/ - এ

ডজ্যাঙ্গোতে ভিউ ছাড়া Djoser ব্যবহার করে টোকেন অথেনটিকেশন

এখানে আপনি ইউজার তৈরি করবেন।

https://127.0.0.1:8000/api/v1/token/login - এ

ডজ্যাঙ্গোতে ভিউ ছাড়া Djoser ব্যবহার করে টোকেন অথেনটিকেশন

এখানে ইউজারনেম এবং পাসওয়ার্ড দিয়ে ইউজারের জন্য টোকেন জেনারেট করবেন।

  1. ডজ্যাঙ্গোতে গুগল অথেনটিকেশন ইমপ্লিমেন্ট করা

  2. ডজ্যাঙ্গো REST Framework JWT অথেনটিকেশন

  3. ডজ্যাঙ্গোতে টার্মিনালে কোয়েরি কাউন্ট ডিবাগিংয়ের জন্য

  4. পাইথন প্রোগ্রাম: লুপ ছাড়া নাম্বার সিরিজ প্রিন্ট করা