استاد تو ویدیو تاکید دارن که هیچ hit به دیتابیس زده نمیشه زمانی که ما داریم از JWT استفاده میکنیم
ولی یه سوال زمانی که ما داریم یوزر و پسوورد میفرستیم چطور؟
درووود دوست عزیز
بزار اینجوری واست توضیح بدم که کامل تفاوتشون متوجه بشی:
قبل از موارد پیش رو اگ ساختار jwt رو دیده باشی شامل سه بخش هست هر توکن که یکیش payload که شامل id کاربره که با دیکد و انکد شدن یه سری توکن دیگه مثل secret key توی settings.py احراز انجام میشه
توکن :
DRF's builtin Token Authentication : ( یک توکن برای همه سشنها ، هیچ محدودیت زمانی نمیشه براش روی توکن تعیین کرد)
DRF JWT Token Authentication : ( برای هر سشن یک توکن ، محدودیت زمانی برای هر توکن )
دیتابیس :
DRF's builtin Token Authentication
( یک hit به دیتابیس برای واکشی کاربری که اون توکن رو داره ، اپدیت کردن وضعیت کاربر ، احراز هویت کاربر)
DRF JWT Token Authentication :
( دیکد کردن توکن از payload ، تعیین محدودیت برای verify توکن ،یک hit به دیتابیس برای واکشی کاربری که اون id که توی payload هست رو داره ، اپدیت کردن وضعیت کاربر ، احراز هویت کاربر)
مزایا :
DRF's builtin Token Authentication
اجازه میده که force logout انجام بشه اگر یه توکن بجای توکن اصلی قرار بگیره (مثلا تغیر رمز عبور)
DRF JWT Token Authentication
توکن میتونه محدودیت زمانی داشته باشه
هیچ درخواستی به دیتابیس زده نمیشه که ببینه توکن معتبر هست یا نه
معایب :
DRF's builtin Token Authentication
hit به دیتابیس توی همه درخواستها (all requests)
سیگنال توکن برای همه سشن ها
DRF JWT Token Authentication
هنگامی که توکن صادر شد، هر کسی که توکن را داشته باشه میتونه درخواست بزنه.
امیدوارم مفید بوده باشه
موفق باشی?
بهترین پاسخ
Reza Mobaraki۰۸ آذر ۱۴۰۱، ۱۸:۴۷
سلام محمد عزیز وقت بخیر
اگر مشکلت حل شده ممنون میشم تایید رو بزنی تا تاپیکت بسته بشه .