میانافزار کوکی نشست (SessionCookie)
میانافزار کوکی نشست مسئول مدیریت نشستهای کاربر از طریق کوکیها است.
هدف
این میانافزار کوکیهای درخواست را بررسی کرده و در صورت وجود توکن نشست معتبر، کاربر را احراز هویت میکند.
نحوه کار
- پارس کردن کوکیهای درخواست
- جستجو برای کوکی نشست
- بررسی اعتبار توکن نشست
- تنظیم اطلاعات کاربر در صورت معتبر بودن
تنظیمات مرتبط
// تنظیمات نشست
SESSION_INFO: {
cookieName: "session_token" // نام کوکی نشست
}
// تنظیمات احراز هویت
AUTHENTICATION: {
headerName: "authentication" // نام هدر برای تنظیم توکن
}
نحوه کار با کوکیها
// تنظیم کوکی نشست در کلاینت
document.cookie = "session_token=abc123; path=/; secure; httponly";
// یا در سرور
res.cookie('session_token', 'abc123', {
httpOnly: true,
secure: true,
maxAge: 24 * 60 * 60 * 1000 // 24 ساعت
});
ویژگیها
- پارس خودکار کوکیها: استخراج و پارس کردن کوکیهای درخواست
- بررسی اعتبار: استفاده از
Authentication.getUserBySessionToken() - ادغام با Authentication: تنظیم هدر authentication برای middleware بعدی
- لاگگیری: ثبت اطلاعات نشست در لاگها
امنیت
- استفاده از
httpOnlyبرای جلوگیری از دسترسی JavaScript - استفاده از
secureبرای HTTPS - تنظیم
maxAgeبرای انقضا خودکار
خطاها
میانافزار خطاهای مربوط به نشست را در لاگها ثبت میکند اما درخواست را متوقف نمیکند. در صورت نامعتبر بودن توکن، به میانافزار بعدی منتقل میشود.