🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ محمدرضا
فرآیند Authentication توسط jwt
امیر صالحی حل شده توسط امیر صالحی

سلام

برای ایجاد فرآیند احراز هویت کاربر توسط jwt آیا منطقی هستش که توکن را داخل دیتابیس داشته باشیم.?

(درسته که تعداد کاراکترها خیلی زیاده و حجم زیادی از دیتابیس را اشغال میکنه)

یا اینکه اون را توسط کوکی (روش امن) داخل مرورگر کاربر set کنیم. البته اینجوری خود کاربر به راحتی میتونه محتویات خود توکن رو ببینه.

کار درست چیه؟

مثلا توکن خودم تو سایت آکادمی رو نگاه کردم داخل کوکی بود، ولی محتویات اون رو نمیشه درست مشاهده کرد.

سلام و احترام

یکی از میزیت‌های مهم jwt اینکه self-contained هستش ینی اینکه اطلاعات مورد نیازشو مثل همین token رو داخل خودش داره و نیازی نیست داخل دیتابیس ذخیره سازیش کنید. حالا شاید شما دوست دارید از مزیت‌های دیتابیس هم بهره مند شید ولی اگه نگرانی این رو دارید که توکن شما لو نره مثلا داخل کوکی کسی اون رو ندزده راه‌های مختلفی وجود داره، برای مثال شما میتونید expire برای اون توکن بزارید تا طبق زمانی که شما تعریف کردید از بین بره و دیگه کاربردی نداشته باشه.

میتونید از Lax یا Strict هم استفاده کنید که امن هستن و از CSRF Token‌ها هم میشه استفاده کرد.

به شما پیشنهاد میکنم حتما مقاله https://dev.to/gkoniaris/how-to-securely-store-jwt-tokens-51cf مطالعه کنید تا دقیقا بدونید از چی باید استفاده کنید.

 

بهترین پاسخ
امیر صالحی ۲۲ آذر ۱۳۹۹، ۰۸:۲۲