پرش به مطلب اصلی

میان‌افزار کوکی نشست (SessionCookie)

میان‌افزار کوکی نشست مسئول مدیریت نشست‌های کاربر از طریق کوکی‌ها است.

هدف

این میان‌افزار کوکی‌های درخواست را بررسی کرده و در صورت وجود توکن نشست معتبر، کاربر را احراز هویت می‌کند.

نحوه کار

  1. پارس کردن کوکی‌های درخواست
  2. جستجو برای کوکی نشست
  3. بررسی اعتبار توکن نشست
  4. تنظیم اطلاعات کاربر در صورت معتبر بودن

تنظیمات مرتبط

// تنظیمات نشست
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 برای انقضا خودکار

خطاها

میان‌افزار خطاهای مربوط به نشست را در لاگ‌ها ثبت می‌کند اما درخواست را متوقف نمی‌کند. در صورت نامعتبر بودن توکن، به میان‌افزار بعدی منتقل می‌شود.