استفاده از JWT برای تائید هویت در NodeJs

محمدرضا کیکاوسی

اگر با JWT کار کرده باشید قطعا می دانید که یکی از بهترین گزینه ها برای تائید هویت API ها و نرم افزارهای تک صفحه ای است.

JWT بر پایه توکن کار میکند و می تواند برای شما توکن های مختلف به ازای هر بار ورود تولید کند.

مشکل اساسی در کار با JWT در کنار سادگی استفاده، مدیریت ذخیره سازی این توکن هاست. چرا که در صورت سهل انگاری به سادگی قابلیت سرقت توکن توسط حملات XSS با تزریق کد جاواسکریپت در صفحه وجود دارد.

دلیل این امر این است که بسیاری از برنامه نویسان توکن دریافتی از سمت سرور را در localStorage یا sessionStorage ذخیره می کنند که به خاطر ماهیت این دو فضای ذخیره سازی در مرورگر به سادگی با یک خط کدجاواسکریپ قابل دریافت است.

به همین دلیل بهترین محل برای ذخیره سازی توکن کوکی است. کوکی به صورت اتوماتیک پس از ست شدن، هر بار با هر درخواست به سمت سرور ارسال می شود و از سمت کلاینت قابل تغییر دادن نیست.

در این مقاله که در مدیوم نوشته ام می توانید جزئیات پیاده سازی یک اپ ساده تائید هویت با استفاده از Nodejs و JWT را مطالعه کنید.

 تائید هویت در نودجی اس با استفاده از JWT و کوکی