ماژول رسمی Better Auth برای Nuxt
خلاصهٔ کاملتر
توی مخزن nuxt-modules یه ماژول تازه به اسم @nuxtjs/better-auth منتشر شده که Better Auth (یه کتابخونه احراز هویت برای جاوااسکریپت) رو به سبک خود Nuxt توی پروژه سوار میکنه. به گفتهٔ سازندهها، هدف اینه که تیکههای مخصوص Nuxt رو خودشون برات بچینن تا لازم نباشه دستی به هم وصلشون کنی.
چیزی که دستت رو میگیره دو تاست. سمت کلاینت useUserSession() که وضعیت لاگین رو به صورت reactive میده، یعنی هر وقت سشن عوض شه UI خودش آپدیت میشه، و این دسترسی SSR-safe هست؛ یعنی موقع رندر سمت سرور هم بدون خطا کار میکنه. سمت سرور هم requireUserSession(event) و هلپرهای همخانوادهش هستن که اگه کاربر لاگین نباشه جلوی درخواست رو میگیرن. همه اینا auto-import هستن، پس import دستی نمیخوان.
محافظت از مسیرها دو راه داره: یا routeRules توی کانفیگ ناکست، یا definePageMeta({ auth }) داخل خود صفحه. ماژول دو تا فایل کانفیگ هم برات میسازه، server/auth.config.ts و app/auth.config.ts، و کلید مخفی رو از NUXT_BETTER_AUTH_SECRET توی .env میخونه.
برای دیتابیس چهار مسیر پیشنهاد شده: ادغام با NuxtHub که کوتاهترین راهه و حتی schema رو خودش میسازه، استک دیتابیس خودت، اجرای Better Auth روی یه سرویس جدا، و حالت database-less برای سناریوهای stateless و OAuth-محور که تو مستندات صراحتا گفتن مصالحههای خودشو داره.
پیشنیازها سختگیرانهست: Nuxt 4 به بالا، Node با نسخههای ^22.19.0 یا ^24.11.0 یا 26 به بالا، یه نسخه از Better Auth 1.x که با peer dependency جور دربیاد، و اگه سراغ NuxtHub میری نسخه 0.10.5 به بالا. پروژه هم با لایسنس MIT منتشر شده.
نکات کلیدی:
- نصب سریع با npx nuxi module add @nuxtjs/better-auth و بعدش ساختن server/auth.config.ts و app/auth.config.ts.
- useUserSession() سمت کلاینت و requireUserSession(event) سمت سرور، هر دو auto-import.
- محافظت از مسیر با routeRules یا definePageMeta({ auth }).
- چهار مسیر راهاندازی: NuxtHub، دیتابیس خودت، بکاند جدا، یا database-less.
- نیازمند Nuxt 4 به بالا و Node ^22.19.0 / ^24.11.0 / >=26؛ لایسنس MIT.




