فرآیند Authentication توسط jwt

پرسیده شده
فعالیت 1237 روز پیش
دیده شده 523 بار
0

سلام

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

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

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

کار درست چیه؟

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

فایل پیوست

1
حذف شده

سلام و احترام

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

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

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

 

فایل پیوست

امیر صالحی

توسط

امیر صالحی

22 آذر 99

حذف شده
ممنون بابت پاسج فقط توکن آکادمی به چه صورت هستش. (داخل کوکی)
حذف شده
میتونید با set کردن HttpOnly برای کوکی مورد نظر این اجازه ندید تا کسی با js بهش دسترسی داشته باشه
امیر صالحی

22 آذر 99

حذف شده
نه منظورم اینه که اگه محتوای کوکی (هدر set-cookie داخل تب network مرورگر) تون داخل خود همین سایت آکادمی را encode کنید نمیشه محتوایی رو خواند! چطور پیاده سازی شده؟
حذف شده
decode