Django

⌘K
  1. Home
  2. Django
  3. library
  4. Djoser
  5. 03. User Registration ও Login

03. User Registration ও Login

Djoser ব্যবহার করে User Registration, Login এবং Token-Based Authentication কিভাবে কাজ করে তা নিয়ে বিস্তারিত আলোচনা করা হলো।

১. User Registration API: নতুন ইউজার রেজিস্ট্রেশন করা

Djoser ডিফল্টভাবে একটি user registration endpoint সরবরাহ করে যা POST রিকোয়েস্ট ব্যবহার করে নতুন user তৈরি করতে ব্যবহৃত হয়।

Endpoint:

POST /auth/users/

ডেটা ফরম্যাট (JSON):

{
    "username": "newuser",
    "password": "securepassword",
    "email": "newuser@example.com"
}

Response (সফল হলে):

{
    "email": "newuser@example.com",
    "username": "newuser",
    "id": 1
}

নোট: ডিফল্টভাবে Djoser user registration এর জন্য ইমেইল ভেরিফিকেশন এবং অন্যান্য configuration options কাস্টমাইজ করার সুযোগ দেয়। আপনি settings.py ফাইলে DJOSER কনফিগারেশন ব্যবহার করে এটি কাস্টমাইজ করতে পারেন।

২. Login API: ইমেইল এবং পাসওয়ার্ডের মাধ্যমে লগইন করা

Token-based login এর জন্য Djoser token/login/ endpoint সরবরাহ করে যা user-এর credentials যাচাই করে একটি authentication token প্রদান করে।

Endpoint:

POST /auth/token/login/

ডেটা ফরম্যাট (JSON):

{
    "username": "newuser",
    "password": "securepassword"
}

Response (সফল হলে):

{
    "auth_token": "your_generated_token_here"
}

এই token ব্যবহার করে user পরবর্তী API রিকোয়েস্টগুলিতে authentication করতে পারে।

৩. Token-Based Authentication: Djoser ব্যবহার করে টোকেন ভিত্তিক অথেন্টিকেশন

Djoser এবং Django REST Framework এর সাহায্যে token-based authentication সহজে configure করা যায়। rest_framework.authtoken অ্যাপ্লিকেশন ব্যবহার করতে আপনাকে INSTALLED_APPS এ এটি যুক্ত করতে হবে এবং settings.py ফাইলে DRF এর authentication classes এর মধ্যে TokenAuthentication অন্তর্ভুক্ত করতে হবে।

Token Authentication যুক্তকরণ:

INSTALLED_APPS += [
    'rest_framework.authtoken',
]

Settings.py এর Authentication Class:

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': [
        'rest_framework.authentication.TokenAuthentication',
        'rest_framework.authentication.SessionAuthentication',
    ],
}

এখন user token ব্যবহার করে যেকোনো secure endpoint এ access করতে পারে। token কে Authorization header এর মাধ্যমে রিকোয়েস্টে যোগ করা হয়।

Example API Request:

GET /some/secure/endpoint/
Authorization: Token your_generated_token_here

How can we help?