شرح صفوف ومحتوى الفقرة
يتطلب تسجيل الخروج الآمن ثلاث خطوات مترابطة داخل إجراء متحكم من نوع POST: استدعاء Auth::logout، ثم إبطال الجلسة بالكامل عبر invalidate، وأخيراً تجديد رمز الحماية عبر regenerateToken. نفذ الخروج دائماً عبر نموذج POST محمي بتوجيه @csrf وليس عبر رابط GET عادي.
- مسح هوية الحارس (Auth::logout): يزيل حالة المصادقة من الحارس ويلغي كوكي تذكرني إن وجد.
- إبطال الجلسة (invalidate): يمسح كافة بيانات الجلسة المخزنة في الخادم ويغير معرفها.
- تدوير رمز الحماية (regenerateToken): يجدد رمز CSRF لمنع إرسال أي نماذج قديمة مفتوحة في نوافذ أخرى.
PHP
public function destroy(Request $request)
{
Auth::logout();
$request->session()->invalidate();
$request->session()->regenerateToken();
return redirect('/');
}