Djoser ব্যবহার করে User Management সংক্রান্ত কার্যক্রম যেমন User Profile রিট্রিভ ও আপডেট, Password Reset, Password Change, এবং Account Activation খুব সহজে পরিচালনা করা যায়। নিচে প্রতিটি কার্যক্রম নিয়ে বিস্তারিত ব্যাখ্যা দেওয়া হলো:
১. User Profile: ইউজার প্রোফাইল রিট্রিভ করা এবং আপডেট করা
Djoser auth/users/me/ endpoint সরবরাহ করে যা current logged-in user-এর প্রোফাইল রিট্রিভ এবং আপডেট করার জন্য ব্যবহৃত হয়।
Profile রিট্রিভ:
GET /auth/users/me/
এই endpoint এ একটি GET রিকোয়েস্ট পাঠালে বর্তমান লগইন করা user-এর প্রোফাইল তথ্য প্রদান করবে।
Profile আপডেট:
PATCH /auth/users/me/
একটি PATCH রিকোয়েস্টের মাধ্যমে user প্রোফাইল আপডেট করা যাবে।
JSON ডেটা উদাহরণ (Profile আপডেটের জন্য):
{
"first_name": "John",
"last_name": "Doe"
}
২. Password Reset: পাসওয়ার্ড রিসেটের জন্য ইমেইলে রিসেট লিঙ্ক পাঠানো
Djoser auth/users/reset_password/ endpoint সরবরাহ করে যা পাসওয়ার্ড রিসেটের জন্য ইমেইলে একটি রিসেট লিঙ্ক পাঠায়।
Password Reset রিকোয়েস্ট করা:
POST /auth/users/reset_password/
JSON ডেটা উদাহরণ:
{
"email": "user@example.com"
}
ইমেইল ভেরিফিকেশন প্রক্রিয়া: ইমেইলে একটি পাসওয়ার্ড রিসেট লিঙ্ক পাঠানো হবে, যেখানে user লিঙ্কে ক্লিক করে নতুন পাসওয়ার্ড সেট করতে পারবেন।
৩. Password Change: লগইন করা অবস্থায় পাসওয়ার্ড পরিবর্তন করা
Djoser auth/users/set_password/ endpoint সরবরাহ করে যা লগইন করা অবস্থায় user-এর পাসওয়ার্ড পরিবর্তন করার সুযোগ দেয়।
Password Change রিকোয়েস্ট:
POST /auth/users/set_password/
JSON ডেটা উদাহরণ:
{
"current_password": "oldpassword123",
"new_password": "newsecurepassword456"
}
Response (সফল হলে):
{
"detail": "New password has been saved."
}
৪. Account Activation: রেজিস্ট্রেশনের পর অ্যাকাউন্ট একটিভেশন সিস্টেম
Djoser একটি activation endpoint সরবরাহ করে যা ইমেইলের মাধ্যমে user registration এর পরে account activation নিশ্চিত করে।
Activation লিঙ্ক প্রেরণ করা:
- রেজিস্ট্রেশনের পরে user-এর ইমেইলে একটি activation লিঙ্ক পাঠানো হয় যা user লিঙ্কে ক্লিক করলে অ্যাকাউন্ট active হয়।
Activation Endpoint:
POST /auth/users/activation/
JSON ডেটা উদাহরণ (লিঙ্কে ক্লিকের পর):
{
"uid": "user-id",
"token": "activation-token"
}
Settings.py কনফিগারেশন (ইমেইল ভেরিফিকেশন):
DJOSER = {
'SEND_ACTIVATION_EMAIL': True,
'SEND_CONFIRMATION_EMAIL': True,
}