JWT expired ترجمتها «انتهت صلاحية التوكن»، ومعناها: منتجك أرسل مع الطلب بطاقة دخول منتهية، فقاعدة البيانات رفضته. البطاقة في Supabase تنتهي افتراضيًا بعد ساعة، والمفروض المنتج يجدّدها قبل ما تنتهي. لما تطلع الرسالة، فهذي علامة إن التجديد مو شغّال صح.
الترجمة كلمة بكلمة
| الرسالة | الترجمة | إيش تعني |
|---|---|---|
JWT | توكن الدخول | بطاقة دخول مؤقتة يرسلها منتجك مع كل طلب |
expired | انتهت صلاحيته | وقتها خلص، وما تنقبل |
401 | غير مصرّح | رقم الرد اللي يطلع معها في تبويب Network |
Invalid Refresh Token | توكن التجديد غير صالح | خطأ قريب: توكن التجديد نفسه ضاع أو انستخدم، فيطلع المستخدم من حسابه |
وين تشوفها، وليش ما تطلع بالعربي
تطلع في Console أو في سجل السيرفر، والمستخدم يشوف بس إن الحفظ ما يشتغل والقوائم فاضية. الرسالة من Supabase، فتطلع بالإنجليزي دايمًا. وعلامتها: تطلع بعد ما يترك المستخدم الصفحة مفتوحة ساعة، أو يرجع للابتوب بعد ما سكّره، وتختفي لما يحدّث الصفحة.
مشكلتك ولا مشكلة الموقع؟
- إذا أنت مستخدم: حدّث الصفحة، أو سجّل خروج ودخول. هذا يحلها لك الحين، لكن السبب عند الموقع.
- إذا المنتج منتجك: السبب الأشهر إن الكود أخذ التوكن مرة وحفظه بنفسه، والمكتبة جدّدت الأصلي والنسخة بقت قديمة. أو الكود ينشئ أكثر من نسخة من مكتبة Supabase، أو صفحات Next.js على السيرفر ما تجدّد التوكن.
إيش تكتب لـ Lovable أو Bolt أو Cursor
أسوأ حل تقترحه الأدوات: تطويل مدة التوكن لأيام. الخطأ يتأخر، وأي توكن ينسرق يبقى صالح أطول. جرّب أول: سجّل دخول، اترك الصفحة أكثر من ساعة، وسوّ حركة بدون تحديث، وانسخ الطلب اللي رجع 401. ثم اكتب:
After the page is left open for over an hour, requests fail with "JWT expired" (401).
Refreshing the page fixes it. Stack: <Lovable / Vite / Next.js> with Supabase.
Failing request: <URL and response>.
Search the code for access_token, localStorage and createClient. Find where a token is copied
and reused instead of read from the Supabase client, or where more than one client is created.
Do not lengthen the JWT expiry and do not catch the error just to reload the page.الحل خطوة بخطوة
ليش يصير، وكيف تتأكد إنها مشكلتك، والحل الصح لكل حالة، في درس JWT expired في Supabase: ليش المستخدم يطلع له خطأ بعد ساعة؟. وإذا المستخدم يطلع من حسابه فجأة، شوف Invalid Refresh Token في Supabase.
وإذا عملاؤك يشتكون إن المنتج «يعلّق» وما تقدر تكرره، احجز استشارة تقنية ونشوف الجلسات معك.