كل المقالات

موجز FourA: من 29 مايو إلى 5 يونيو 2026

مفاتيح API التي تم إنشاؤها هذا الأسبوع قابلة للكشف. تتذكرها لوحة التحكم Dashboard، ويقوم مكرر curl في بيئة التجربة playground بإدراجها، كما يمكنك إلغاء الطلبات البطيئة.

أبرز المستجدات

أصبحت مفاتيح API الآن قابلة للكشف. قم بإنشاء مفتاح في لوحة التحكم Dashboard الخاصة بك، واذهب بعيداً، ثم عد في الأسبوع التالي، وستجد المفتاح لا يزال هناك بانتظارك خلف نقرة زر. لقد قمنا أيضاً بمعالجة ثلاث مشكلات بسيطة في بيئة تجربة API (playground) ليعمل مكرر curl بشكل فعلي.

ما الجديد

مفاتيح API يمكنك رؤيتها مجدداً

تمنحك معظم واجهات برمجة تطبيقات SaaS مفتاحاً لمرة واحدة فقط. إذا فقدته، عليك إعادة إنشائه، ثم تحديث كل خدمة تستخدم المفتاح القديم، ثم إعادة النشر. أنت تعرف الإجراء المعتاد.

لم يعجبنا هذا النمط، لذلك قمنا بتغييره.

المفاتيح التي يتم إنشاؤها من الآن فصاعداً تأتي مع نسخة قابلة للكشف. افتح لوحة التحكم Dashboard، وانقر على أيقونة العين بجوار أي مفتاح، ثم قم بالتأكيد، لتظهر لك القيمة الكاملة لـ pk_live_... أمامك. وبعد خمس عشرة ثانية، سيتم إخفاؤها تلقائياً ومسحها من الصفحة. يتم تسجيل كل عملية كشف في سجل التدقيق (audit-logged).

بعض التفاصيل التي كانت تهمنا:

  • المسار الذي يتحقق من صحة طلباتك (requests) لا يزال عبارة عن دالة تجزئة أحادية الاتجاه (one-way hash) دون أي تغيير. النسخة القابلة للكشف هي عنصر مشفر ثانٍ (AES-256-GCM) يتواجد بجانبه. وإذا قمنا بتغيير مفتاح التشفير في أي وقت، فسيستمر التحقق من الصحة في العمل دون انقطاع.
  • لا يمكن كشف المفاتيح التي تم إنشاؤها قبل هذا التغيير. إذ لا توجد نسخة مشفرة لقراءتها، وهي تستمر في العمل إلى الأبد عبر مسار التجزئة (hash path). تعرض لوحة التحكم Dashboard علامة قفل صغيرة وتلميحاً يطلب "إعادة الإنشاء للتمكين" (regenerate to enable)، حتى تعرف المفاتيح التي تدعم الميزة الجديدة وتلك التي لا تدعمها.
  • يتطابق التحكم في الوصول مع بقية واجهة برمجة تطبيقات المفاتيح (keys API). يمكنك كشف المفاتيح الخاصة بك. يمكن لمدير المؤسسة (org admin) كشف أي مفتاح في المؤسسة. يمكن للأعضاء الذين يملكون صلاحية كتابة للفريق (Team-write) كشف مفاتيح الفريق، بينما لا يمكن للأدوار المخصصة للقراءة فقط (Read-only) القيام بذلك.
  • المفاتيح التي ينشئها مدير المؤسسة (org admin) نيابة عن زميل في الفريق قابلة للكشف أيضاً، وتطبق عليها نفس القواعد. هذه الميزة مرتبطة بالمفتاح نفسه، وليس بالواجهة التي قامت بإنشائه.

إذا كنت تقوم بتخزين إدخالات مفاتيح FourA في مدير كلمات المرور الخاص بك، فيمكنك التوقف عن ذلك الآن.

مكرر curl أصبح الآن أمر curl حقيقي

كل طلب (request) تقوم ببنائه في بيئة التجربة playground يأتي مع أمر curl قابل للنسخ واللصق بجانبه. الفكرة بسيطة: اضبط الطلب بشكل صحيح في واجهة المستخدم، ثم انسخ أمر curl، وضعه في سكربت، أو في ترمينال زميلك، أو في تقرير الأخطاء.

حتى هذا الأسبوع، كان أمر curl يحتوي على عنصر نائب (placeholder) في المكان المخصص للمفتاح (PASTE_PLAINTEXT_FOR_my-key)، وكان عليك ملؤه يدوياً قبل تشغيله. لم يكن المكرر مكرراً فعلياً، بل كان مجرد قالب.

لقد انتهى ذلك. بالنسبة لأي مفتاح قابل للكشف، تحتوي بيئة التجربة playground على زر كشف (Reveal) في لوحة curl. انقر عليه، وسيتم إدراج النص الصريح الحقيقي في أمر curl، ثم انسخ الأمر بالكامل، والصقه في الترمينال الخاص بك، وسيعمل فوراً. انقر مرة أخرى لإخفائه. عملية الكشف تتم في الذاكرة (in-memory) لهذه الجلسة فقط، ولا تُكتب أبداً على القرص، كما تتبع لوحة curl القائمة المنسدلة للمفاتيح، بحيث لا يؤدي تبديل المفاتيح أبداً إلى تسريب مفتاح إلى آخر. أما المفاتيح القديمة غير القابلة للكشف فلا تزال تعرض العنصر النائب، لأننا لا نستطيع استعادة النص الصريح الخاص بها.

زر إلغاء للطلبات قيد التنفيذ

إذا قمت بإرسال طلب (request) من بيئة التجربة playground إلى موقع مستهدف بطيء، فإن الخيار الوحيد سابقاً كان الانتظار حتى انتهاء المهلة (timeout). لقد أضفنا زر إلغاء (Cancel) إلى لوحة التحميل. انقر عليه لإلغاء الطلب بشكل نظيف، وستعود منطقة الاستجابة (response) إلى حالتها الخاملة مع رسالة "Request canceled." بدلاً من ظهور خطأ مخيف.

أمر بسيط. ولكن بيئة التجربة playground تبدو الآن كأداة حقيقية بدلاً من مجرد عرض توضيحي. يمكنك فحص موقع غير مستقر، وإلغاء العملية، وتعديل الطلب (request)، ثم المحاولة مجدداً، دون الحصول على فترات انتظار طويلة.

خلف الكواليس

ثلاثة تحسينات صغيرة على زر كشف (Reveal) الخاص بـ curl بعد الإطلاق الأولي: تعرض رسالة الخطأ المنبثقة (error toast) رسالة واضحة ومفهومة بدلاً من رمز الخطأ البرمجي، ولن يعلق الزر على حالة "Revealing…" إذا حدث خطأ غير متوقع، كما تم إصلاح خطأ في تحديد الهوية عبر CSS (CSS specificity bug) كان يتسبب في بقاء الزر مرئياً للمفاتيح التي لا تدعم الكشف.

إذا واجهت أي من هذه المشكلات، فقد تم إصلاحها الآن. وإذا لم تواجهها، فلم يفتك شيء.

أنشئ، انسخ، الصق، ثم انسَ الأمر. عد لاحقاً. فلوحة التحكم Dashboard تتذكر دائماً.