یک برنامه ساده Node.js و Express بنویسید که با استفاده از JWT احراز هویت کاربر را انجام دهد: مسیر ثبتنام، ورود (برگشت توکن) و یک مسیر محافظتشده که فقط با توکن معتبر قابل دسترسی باشد.
21.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 04:14 0.0
از کتابخانههایی مانند express، jsonwebtoken و bcryptjs استفاده کنید. مسیر ثبتنام باید رمز را هش کند و کاربر را (مثلاً در یک آرایه یا دیتابیس ساده) ذخیره کند، مسیر ورود اعتبارسنجی رمز را انجام دهد و در صورت موفقیت یک JWT امضا شده با یک secret و expiration برگرداند، و برای مسیر محافظتشده از middleware استفاده شود که توکن را از هدر Authorization (فرمت Bearer) خوانده و با jsonwebtoken.verify اعتبارسنجی کند. نکات: از مقادیر مناسب status code و پیام خطا استفاده کنید، secret را در متغیر محیطی قرار دهید و برای سادگی میتوانید دادهها را در حافظه نگهداری کنید یا از یک فایل JSON بهره بگیرید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نکته: مقدار secret را حتماً در متغیر محیطی (مثلاً process.env.JWT_SECRET) قرار دهید و از یک مقدار قوی استفاده کنید، همچنین زمان انقضا (expiresIn) را منطقی انتخاب کنید و برای برنامههای واقعی از Refresh Token استفاده کنید. هنگام هش کردن رمز از bcrypt با saltRounds حداقل 10 استفاده کنید و ورودیها را اعتبارسنجی کنید تا حملات ساده جلوگیری شود. دادهها در این مثال در حافظه نگه داشته شدهاند، ولی برای تولیدی حتماً از پایگاهداده استفاده و از HTTPS بهره ببرید. پاسخها و کدهای وضعیت مناسب (401 برای توکن نامعتبر/کمبود، 400 برای ورودی نامعتبر و 201 برای ثبتنام موفق) را بازگردانید.
گزارش