منتصر احمد نشر 27 أكتوبر 2023 أرسل تقرير نشر 27 أكتوبر 2023 دلوقتي انا بعمل facebook clone ب next js مع typescript. طالعلي مشكله ان لما الuser بيحاول يعمل تسجيل دخول (Login) مش بعرف احط ال jwt token في cookie في ال response 1 اقتباس
0 Hikmat Jaafer نشر 27 أكتوبر 2023 أرسل تقرير نشر 27 أكتوبر 2023 مرحباً منتصر , أرجو أن تقوم بإرسال ملف الlogin لنتمكن من تحليل وحل مشكلتك بشكل أفضل . لكن بجميع الأحوال هذه خطوات عامة لكيف ممكن توضع jwt token في الcookies من خلال response api عندما يقوم المستخدم بتسجيل دخول . سوف نستخدم مكتبة `cookie` لتسهيل هذه العملية. قبل كل شيء، تأكد من تثبيت المكتبة `cookie` باستخدام الأمر التالي: npm install cookie بعد تثبيت المكتبة، يمكنك استخدام الكود التالي لتعيين توكن JWT في الكوكيز عند تسجيل الدخول: import { NextApiResponse } from 'next'; import cookie from 'cookie'; // دالة تقوم بتوليد التوكن JWT بناءً على البيانات الخاصة بالمستخدم function generateToken(user: UserData): string { // قم بتوليد التوكن هنا // ... return token; } // مثال على دالة تسجيل الدخول export function login(req: NextApiRequest, res: NextApiResponse): void { // قم بإجراء عملية التوثيق هنا // ... // توليد التوكن JWT const token = generateToken(user); // تعيين الكوكيز في الاستجابة res.setHeader('Set-Cookie', cookie.serialize('token', token, { httpOnly: true, secure: process.env.NODE_ENV === 'production', // تحديد ما إذا كانت الكوكيز تعمل على اتصال آمن أم لا sameSite: 'strict', // تحديد سياسة SameSite للكوكيز maxAge: 3600, // تحديد وقت انتهاء صلاحية الكوكيز بالثواني path: '/', // تحديد المسار الذي يمكن الوصول إليه الكوكيز من خلاله })); res.status(200).json({ message: 'تم تسجيل الدخول بنجاح' }); } بعد تعيين الكوكيز في الاستجابة، ستكون الكوكيز متاحة في الجانب العميل (المتصفح) ويمكن الوصول إليها من خلال `document.cookie`. 1 اقتباس
0 منتصر احمد نشر 27 أكتوبر 2023 الكاتب أرسل تقرير نشر 27 أكتوبر 2023 بتاريخ 5 دقائق مضت قال Hikmat Jaafer: مرحباً منتصر , أرجو أن تقوم بإرسال ملف الlogin لنتمكن من تحليل وحل مشكلتك بشكل أفضل . لكن بجميع الأحوال هذه خطوات عامة لكيف ممكن توضع jwt token في الcookies من خلال response api عندما يقوم المستخدم بتسجيل دخول . سوف نستخدم مكتبة `cookie` لتسهيل هذه العملية. قبل كل شيء، تأكد من تثبيت المكتبة `cookie` باستخدام الأمر التالي: npm install cookie بعد تثبيت المكتبة، يمكنك استخدام الكود التالي لتعيين توكن JWT في الكوكيز عند تسجيل الدخول: import { NextApiResponse } from 'next'; import cookie from 'cookie'; // دالة تقوم بتوليد التوكن JWT بناءً على البيانات الخاصة بالمستخدم function generateToken(user: UserData): string { // قم بتوليد التوكن هنا // ... return token; } // مثال على دالة تسجيل الدخول export function login(req: NextApiRequest, res: NextApiResponse): void { // قم بإجراء عملية التوثيق هنا // ... // توليد التوكن JWT const token = generateToken(user); // تعيين الكوكيز في الاستجابة res.setHeader('Set-Cookie', cookie.serialize('token', token, { httpOnly: true, secure: process.env.NODE_ENV === 'production', // تحديد ما إذا كانت الكوكيز تعمل على اتصال آمن أم لا sameSite: 'strict', // تحديد سياسة SameSite للكوكيز maxAge: 3600, // تحديد وقت انتهاء صلاحية الكوكيز بالثواني path: '/', // تحديد المسار الذي يمكن الوصول إليه الكوكيز من خلاله })); res.status(200).json({ message: 'تم تسجيل الدخول بنجاح' }); } بعد تعيين الكوكيز في الاستجابة، ستكون الكوكيز متاحة في الجانب العميل (المتصفح) ويمكن الوصول إليها من خلال `document.cookie`. تمام اخي. هل القيمه 30 * 60 * 60 * 24 هنا تساوي شهر ؟ 1 اقتباس
0 Hikmat Jaafer نشر 27 أكتوبر 2023 أرسل تقرير نشر 27 أكتوبر 2023 تماماً , قيمة maxAge بالثواني , وبالتالي حاصل ضرب هذه القيم يساوي عدد الثواني في شهر من 30 يوم . اقتباس
السؤال
منتصر احمد
دلوقتي انا بعمل facebook clone ب next js مع typescript.
طالعلي مشكله ان لما الuser بيحاول يعمل تسجيل دخول (Login) مش بعرف احط ال jwt token في cookie في ال response
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.