منتصر احمد نشر 27 أكتوبر 2023 أرسل تقرير مشاركة نشر 27 أكتوبر 2023 دلوقتي انا بعمل facebook clone ب next js مع typescript. طالعلي مشكله ان لما الuser بيحاول يعمل تسجيل دخول (Login) مش بعرف احط ال jwt token في cookie في ال response 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
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 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
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 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 Hikmat Jaafer نشر 27 أكتوبر 2023 أرسل تقرير مشاركة نشر 27 أكتوبر 2023 تماماً , قيمة maxAge بالثواني , وبالتالي حاصل ضرب هذه القيم يساوي عدد الثواني في شهر من 30 يوم . اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
منتصر احمد
دلوقتي انا بعمل facebook clone ب next js مع typescript.
طالعلي مشكله ان لما الuser بيحاول يعمل تسجيل دخول (Login) مش بعرف احط ال jwt token في cookie في ال response
رابط هذا التعليق
شارك على الشبكات الإجتماعية
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.