البرمجة

استخدام JWT في Laravel للحصول على بيانات المستخدم

بالطبع، يُعد توثيق المستخدمين والحصول على بيانات المستخدم الحالي بواسطة JWT في Laravel أمرًا ممكنًا باستخدام حزمة jwt-auth. يتيح لك هذا الإضافة التعامل مع عمليات المصادقة بسهولة وبطريقة آمنة باستخدام توكينات JWT.

في الشيفرة المرفقة، يتم استخدام دالة attempt() المُقدمة من قبل jwt-auth للتحقق من صحة بيانات تسجيل الدخول التي تم تقديمها من قبل المستخدم. إذا كانت البيانات صالحة، يتم إنشاء توكن JWT باستخدام دالة JWTAuth::attempt()، ومن ثم يُرجع التوكن كاستجابة JSON.

لكن، للحصول على بيانات المستخدم الحالي بعد نجاح عملية تسجيل الدخول، يجب أن تستخدم الميزات الإضافية المقدمة من jwt-auth. يمكنك استخدام الدالة JWTAuth::user() لاسترداد بيانات المستخدم الحالي المرتبطة بالتوكن JWT.

سنقوم بتعديل الكود ليشمل هذه الخطوة:

php
public function login(Request $request) { $credentials = $request->only('email', 'password'); try { if (! $token = JWTAuth::attempt($credentials)) { return response()->json(['error' => 'invalid_credentials'], 401); } } catch (Tymon\JWTAuth\Exceptions\JWTException $e) { return response()->json(['error' => 'could_not_create_token'], 500); } // Get the authenticated user $user = JWTAuth::user(); return response()->json(compact('token', 'user')); }

بهذا التعديل، بعد نجاح عملية تسجيل الدخول وإنشاء التوكن، سيتم استرداد بيانات المستخدم الحالي باستخدام التوكن المُولَّد، ومن ثم يتم إرجاعها مع التوكن كاستجابة JSON.

المزيد من المعلومات

بالتأكيد، دعنا نواصل التعمق في هذا الموضوع لنزيد فهمنا لكيفية استخدام JWT في Laravel للحصول على بيانات المستخدم بعد عملية تسجيل الدخول.

لتوضيح المفهوم أكثر، دعنا ننظر إلى كيفية عمل الأمر في الخلفية:

عندما يتم استدعاء دالة JWTAuth::attempt($credentials)، تقوم الحزمة بالتحقق من صحة بيانات تسجيل الدخول المُقدمة، وإذا كانت صحيحة، يتم إنشاء توكن JWT لهذا المستخدم. ومن ثم، عادةً ما تُرجع الحزمة التوكن كجزء من الاستجابة.

ومع ذلك، يمكن أن تحتاج تطبيقك إلى المزيد من معلومات المستخدم بعد عملية تسجيل الدخول، مثل اسم المستخدم أو البريد الإلكتروني أو أي معلومات أخرى. للحصول على هذه المعلومات، يمكنك استخدام الدالة JWTAuth::user().

عند استدعاء هذه الدالة، تقوم jwt-auth بفك تشفير التوكن والتحقق من صحته، ثم تسترد بيانات المستخدم المرتبطة بهذا التوكن. وبناءً على ذلك، يمكنك الوصول إلى معلومات المستخدم المطلوبة واستخدامها كما تشاء في تطبيقك.

الآن، بعد توضيح كيفية الحصول على بيانات المستخدم بعد تسجيل الدخول، دعنا نلقي نظرة على كيفية استخدام هذه المعلومات في تطبيقك.

في الشيفرة المرفقة، يتم إضافة بيانات المستخدم إلى الاستجابة JSON باستخدام الدالة compact()، حيث يتم تمرير التوكن وبيانات المستخدم. يمكنك تخصيص هذا الجزء حسب احتياجات تطبيقك، مثل إضافة معلومات إضافية عن المستخدم أو تنسيق الاستجابة بطريقة معينة.

باستخدام هذه الإجراءات، يمكنك تطوير تطبيق Laravel الخاص بك بشكل أفضل وتوفير تجربة مستخدم ممتازة للمستخدمين، حيث يمكنهم الآن الوصول إلى بياناتهم الشخصية بعد تسجيل الدخول بطريقة آمنة وفعالة.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر