حسنًا، نتحدث اليوم عن مفهوم "انتهاء الجلسة"، خاصة عند استخدام NextAuth.js في مشروعك. افهم بلغة بسيطة وودية، حتى لا يكون هناك أي التباس. ,
لذا، دعونا أولاً نفهم معنى الخطأ "انتهت صلاحية جلستك". هذا خطأ متعلق بالمصادقة، والذي يحدث عند إنهاء جلسة تسجيل دخول المستخدم. على سبيل المثال، قمت بتسجيل الدخول إلى موقع ويب أو تطبيق، واستخدمته لفترة، ثم غادرته لفترة. وعندما عدت ظهرت الرسالة على الشاشة "انتهت الجلسة، يرجى تسجيل الدخول مرة أخرى". وهذا يعني أن الإذن الذي منحك سابقًا حق الوصول إلى التطبيق قد انتهى، وستحتاج إلى إعادة تسجيل الدخول لتتم مصادقتك مرة أخرى. , , , مثال لفهم: , تخيل أنك دخلت إلى مركز تجاري وأعطاك حارس الأمن
بطاقة زائر, , كيف تعمل جلسة NextAuth mein؟ , الآن إذا قمنا بتنفيذ NextAuth.js، فهناك بعض القواعد هناك أيضًا. عندما يقوم مستخدم بتسجيل الدخول، يقوم NextAuth بتتبع هوية المستخدم باستخدام JWT (JSON Web Tokens)
أوهو رمز مميز يتم إرساله لترميز بيانات اعتماد المستخدم، ويتم إرساله مع كل طلب للتحقق مما إذا كان المستخدم صالحًا أم لا. , يتم تخزين ملفات تعريف الارتباط للجلسة في المتصفح، والذي من خلاله تعرف الواجهة الخلفية المستخدم الذي قام بتسجيل الدخول حاليًا. , ولكن، لديهم وقت انتهاء الصلاحية
، والذي قمت بتعيينه من خلال
,
على سبيل المثال، في NextAuth، يمكنك إجراء استقصاء الجلسة بحيث يتم تحديث الجلسة تلقائيًا:
,
استخدام الجلسة({
المطلوب: صحيح،
على غير مصدق () {
تسجيل الدخول()؛ // إعادة التوجيه إلى صفحة تسجيل الدخول في حالة انتهاء صلاحية الجلسة
,
,
,
,
export const authOptions = { session: { strategy: "jwt", // JWT ya session-based approach maxAge: 30 * 60, // 30 minutes ka session timeout }, // baaki authentication providers yahan mention karte hain }البقاء مسجل الدخول
: تمنح بعض التطبيقات للمستخدم خيار "البقاء مسجل الدخول"، مما يؤدي إلى تمديد وقت انتهاء الجلسة. يمكن القيام بذلك باستخدام
تدوير الرمز المميزتخيل أنك تستخدم تطبيق التجارة الإلكترونية وقمت بإضافة بعض الأجبان إلى سلة التسوق الخاصة بك. إذا انتهت صلاحية الجلسة، فسوف تقوم بتسجيل الدخول مرة أخرى، ولكن العناصر الموجودة في سلة التسوق ستبقى كما هي. هذا ممكن لأنه ربما تم حفظ بيانات سلة التسوق في
التخزين المحلي
useSession({ required: true, onUnauthenticated() { signIn(); // Redirect to login page agar session expire ho jaaye }, });,
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3