الهدف
بعد هالدرس تقدر تختار auth solution لمشروعك وتثبّتها — وتفهم الفرق بين Authentication (منو إنت؟) و Authorization (شنو مسموح لك؟).
ليش هذا الحين؟
Database جاهز. الحين نحتاج نعرف منو المستخدم. Auth هو القرار اللي يأثر على كل الكود اللاحق — غيّره بعدين = مشكلة كبيرة.
الفكرة
Auth Options:
Provider Price Lock-in متى
────────────────────────────────────────────────────────
Better Auth مجاني منخفض TypeScript-first، الـ default
NextAuth مجاني منخفض أقدم، ecosystem كبير
Clerk مجاني/$25+ عالي DX أفضل، startup سريع
Supabase Auth مع Supabase متوسط لو مستخدم Supabase
Authentication vs Authorization:
Authentication: تحقق من هوية المستخدم (login/session)
Authorization: تحقق من صلاحياته (يقدر يعدّل هالـ resource والا لا؟)