لدي سيرفر برمجت عليه أليات الدخول والتسجيل وفي الحالتين يكون الرد من السيرفر ب token وذلك الtoken مبرمج لتنتهي صلاحيته في ساعة ولقد قمت بربط السيرفر بمشروع react وأقوم بالتسجيل أو الدخول و أجلب ال token وأقوم بتخزينه في ال localstorage وعلى أساسه أحدد ما اذا المستخدم مسجل للدخول أولا المشكل هنا كيف أعرف أن token انتهت صلاحيته لأقوم بحذفه من localstorage وتسجيل الخروج
لتنفيذ هذا الأمر دعنا نقسم العمل على خطوات
1- نود معرفة تاريخ انتهاء التوكن
2- نود معرفة هل انتهى التوكن في الوقت الحالي أم لا
3- إذا إنتهى التوكن نود تسجيل الخروج
الخطوة الأولى معرفة تاريخ الإنتهاء
يمكننا تحقيق هذه الخطوة من خلال إستخراج بعض الداتا التي يحملها التوكن الذي يتم تخزينه في LocalStorage وتكون مشفره كالتالي:
const getExpirationDate = (token) => {
if (!token) {
return null;
}
const jwt = JSON.parse(atob(token.split('.')[1]));