مقدمه
در این آموزش، نحوهی پیادهسازی احراز هویت (Authentication) در یک اپلیکیشن Nuxt.js با استفاده از ماژول Auth را یاد میگیرید.
برای اهداف این آموزش، از JWT (JSON Web Token) برای احراز هویت استفاده میشود.
سورسکد این اپلیکیشن در GitHub موجود است.
هشدار:
برخی از پکیجهای استفادهشده دارای آسیبپذیریهای شناختهشده هستند. در محیط Production، باید این مشکلات با بهروزرسانی یا استفاده از جایگزینها حل شوند. اما برای آموزش، همین نسخه کافی است.
پیشنیازها
-
نصب Node.js روی سیستم محلی
-
نصب Git (اختیاری، برای Clone کردن API)
-
آشنایی اولیه با Vue.js و Nuxt.js
نسخههای تستشده:
-
Node v13.13.0
-
npm v6.14.4
-
Vue v2.6.11
-
Nuxt v2.12.2
مرحله ۱ — راهاندازی API نمونه
Clone کردن API نمونه:
اگر با sqlite3 مشکل داشتید، روشهای زیر پیشنهاد میشود:
-
داونگرید Node به نسخه 10.20.1
-
حذف
package-lock.jsonو نصب دوباره -
تغییر نسخه
sqlite3درpackage.jsonبه نسخه سازگار
نام فایل .env.example را تغییر دهید:
تولید APP_KEY:
اجرای migrationها:
شروع API:
API روی:
مرحله ۲ — ساخت اپلیکیشن Nuxt.js
ایجاد پروژه Nuxt با vue-cli:
اپلیکیشن روی:
مرحله ۳ — نصب ماژولهای Nuxt.js
نصب ماژولهای Auth و Axios:
افزودن ماژولها به nuxt.config.js:
تنظیمات Axios و Auth:
مرحله ۴ — ساخت Navbar
اضافه کردن Bulma CSS در nuxt.config.js:
ساخت components/Navbar.vue:
بروزرسانی layout پیشفرض:
صفحه اصلی (pages/index.vue):
مرحله ۵ — ثبتنام کاربران
pages/register.vue:
Notification.vue:
مرحله ۶ — مدیریت وضعیت لاگین
store/index.js:
Navbar.vue (بروزرسانی با computed):
مرحله ۷ — ورود کاربران
pages/login.vue:
مرحله ۸ — نمایش پروفایل
pages/profile.vue:
مرحله ۹ — خروج کاربران
Navbar.vue:
مرحله ۱۰ — محدود کردن صفحه پروفایل
pages/profile.vue:
مرحله ۱۱ — Middleware مهمان
middleware/guest.js:
اضافه کردن به صفحات Login و Register:
جمعبندی
در این آموزش یاد گرفتید:
-
نحوه پیادهسازی احراز هویت در Nuxt.js با Auth module
-
مدیریت جریان ورود و خروج با middleware
-
استفاده از JWT و Axios برای ارتباط با API
از همراهی شما با پارمین کلود متشکریم.
نظرات کاربران