انشاء API تسجيل دخول/خروج باستخدام Laravel

هذه المقالة تشرح طريقة استخدام Laravel API كـ back-end لإنشاء نموذج تسجيل, بالاضافة إلى مسارات محمية لا يمكن الدخول اليها الا في حال التسجيل (امتلاك token).


انشاء مشروع Laravel جديد

في البداية سنحتاج الى انشاء مشروع Laravel جديد من خلال الأمر:

laravel new example-app
  • Would you like to install a starter kit? none

  • Which testing framework do you prefer? 0

  • Which testing framework do you prefer? no

  • Which database will your application use? mysql

الدخول الى مسار المشروع

الخطوة التالية هي الدخول الى مسار المشروع من خلال الأمر:

cd example-app

تعديل ملف env.

الآن سنحتاج الى تعديل ملف env. وتحديدا القسم الخاص بقاعدة البيانات (نوع قاعدة البيانات)

إنشاء ملف api.php

الخطوة التالية هي إنشاء ملف api.php من خلال الامر:

php artisan install:api

في حال سؤالك عن إجراء migration قم بتأجيل ذلك بالضغط على no لأننا سنقوم بالتعديل على ملفات migrations اولا.

انشاء الـ Controller

الآن سنحتاج الى انشاء الـ Controller الخاص بجميع عمليات تسجيل المستخدمين وربطه بالمودل User من خلال الأمر:

php artisan make:controller UserController --model=User

التعديل على الملفات

الآن ندخل الى ملف User.php الموجود في مجلد Models لنضيف بعض التعديلات (نستورد HasApiTokens ثم نستخدمها بالاضافة الى حذف name من fillable لأننا لن نحتاجه):


أيضا سنقوم بحذف name من ملف create_users_table.php الموجود في مجلد migrations


الآن سنقوم بإضافة بعض المسارات في ملف api.php مع استيراد UserController كالتالي:

لاحظ أن جميع المسارات المحمية التي تحتاج token لتنفيذها تقع ضمن middleware('auth:sanctum') مثل logout و user أما المسارات العامة فهي تقع خارج الـ middleware مثل login و register


الأن سنحتاج الى اضافة دوال خاصة بالمسارات وذلك ضمن ملف UserController.php على الشكل التالي:

تنفيذ migrate

الخطوة الأخيرة هي تنفيذ migrate من خلال الأمر:

php artisan migrate

مسارات الـ API التي تم انشائها

http://localhost:8000/api/user http://localhost:8000/api/logout http://localhost:8000/api/register http://localhost:8000/api/login

رابط github: هنا