Django

⌘K
  1. Home
  2. Django
  3. library
  4. Djoser
  5. 04. Token Validation

04. Token Validation

ViewSet তৈরি করা: Token Validation সহ

আপনি DRF এর ViewSet এবং permissions ব্যবহার করে একটি secure API তৈরি করতে পারেন, যেখানে token-based authentication validation করা হয়। এখানে একটি উদাহরণ ViewSet দেওয়া হলো যা শুধুমাত্র authenticated users এর জন্য accessible:

from rest_framework.viewsets import ViewSet
from rest_framework.response import Response
from rest_framework.permissions import IsAuthenticated
from rest_framework.authentication import TokenAuthentication

class SecureDataViewSet(ViewSet):
    # Token-based authentication নিশ্চিত করতে authentication_classes সেট করা হচ্ছে
    authentication_classes = [TokenAuthentication]
    permission_classes = [IsAuthenticated]

    def list(self, request):
        # User authentication সফল হলে response প্রদান করা হবে
        return Response({"message": "This is secured data accessible only to authenticated users."})

    def retrieve(self, request, pk=None):
        # নির্দিষ্ট একটি ডেটা retrieve করা যাবে
        return Response({"message": f"Secured data item {pk} for authenticated users."})

urls.py এ ViewSet যুক্ত করা

আপনার urls.py ফাইলে ViewSet এর জন্য একটি route তৈরি করতে DefaultRouter ব্যবহার করতে পারেন:

from django.urls import path, include
from rest_framework.routers import DefaultRouter
from .views import SecureDataViewSet

router = DefaultRouter()
router.register(r'secure-data', SecureDataViewSet, basename='secure-data')

urlpatterns = [
    path('', include(router.urls)),
]

টোকেনের মাধ্যমে API Access করা

যখন এই API endpoint এ রিকোয়েস্ট পাঠানো হবে, তখন Authorization header এর মাধ্যমে token পাঠাতে হবে:

Example Request:

GET /secure-data/
Authorization: Token your_generated_token_here

ব্যাখ্যা

  • authentication_classes: এখানে TokenAuthentication ব্যবহার করা হয়েছে যা Djoser এবং DRF এর token-based authentication নিশ্চিত করে।
  • permission_classes: IsAuthenticated permission নিশ্চিত করে যে শুধুমাত্র authenticated users এই ViewSet এ access পাবে।
  • Response: যদি token বৈধ হয়, তাহলে user HTTP 200 OK status এবং নির্দিষ্ট response message পাবে। যদি token অবৈধ বা অনুপস্থিত হয়, তাহলে HTTP 401 Unauthorized error প্রদান করা হবে।

এইভাবে, আপনি একটি secure API ViewSet তৈরি করতে পারেন যা token-based authentication এর মাধ্যমে user validation নিশ্চিত করে।

How can we help?