تحديثات منتج Logto
يقدم Logto v1.40.0 محدد النطاق الزمني لسجلات التدقيق، وحمولات ويب هوك عضوية المنظمة الأكثر ثراءً، وتحسينات ضخمة في الأداء للمنظمات الكبيرة، وعدة تحسينات في جودة الحياة للذين يستضيفون النظام بأنفسهم.
يقدم Logto v1.40.0 محدد النطاق الزمني لسجلات التدقيق، وحمولات ويب هوك عضوية المنظمة الأكثر ثراءً، وتحسينات ضخمة في الأداء للمنظمات الكبيرة، وعدة تحسينات في جودة الحياة للذين يستضيفون النظام بأنفسهم.
Logto v1.40.0 هو إصدار يركز على تعزيز المنصة. يجعل سجلات التدقيق عملية ومفيدة حتى مع الحجم الكبير، ويخبرك تحديداً ما الذي تغير في ويب هوك عضوية المنظمة، ويسرّع استعلامات المنظمات عند المستأجرين الكبار، ويزيل بعض نقاط الاحتكاك الطويلة لمن يستضيف النظام ذاتياً. كما تم إضافة ثلاث موصلات جديدة. إليك الجديد:
سجلات التدقيق أكثر فائدة عندما يحدث شيء ما للتو — ولكن حتى الآن، كانت لوحة التحكم تجلب نافذة غير محدودة، وهو ما أصبح بطيئًا مع المستأجرين الذين لديهم كميات ضخمة من السجلات.
يضيف هذا الإصدار محدد نطاق زمني لصفحة سجلات التدقيق، ويكون الإعداد الافتراضي آخر 7 أيام. يمكنك تحديد نوافذ جاهزة (آخر ساعة واحدة، آخر 24 ساعة، آخر 7 أيام، آخر 30 يومًا) أو تحديد فترة مخصصة، وتبقى السجلات الأقدم قابلة للوصول ببساطة عبر توسيع النطاق (#8810).
على مستوى التنفيذ، حصلت واجهة برمجة الإدارة على وسائط استعلام start_time و end_time في GET /api/logs و GET /api/hooks/{id}/recent-logs (قيم حدود حصرية بوحدة ميلي ثانية يونكس)، بحيث يمكنك تحديد نطاق الاستعلامات برمجيًا أيضًا (#8806). للمستأجرين الكبار جدًا، هناك معامل جديد enableCap=true يختصر استعلام العد على حوالي 10,000 صف ويرجع ترويسة Total-Number-Is-Capped: true، بحيث يتم استبدال العدد الدقيق باستجابة لن تتجاوز statement_timeout؛ وتتحول لوحة التحكم لطريقة عرض سابقة/تالية حين بلوغ الحد (#8796، #8802). السلوك الافتراضي دون هذا المعامل لم يتغير.
كان ويب هوك Organization.Membership.Updated يُخبرك بأن العضوية تغيرت، لكن ليس ما تغير تحديدًا. الآن يحمل حقول فرق صريحة — addedUserIds / removedUserIds و addedApplicationIds / removedApplicationIds — عبر نقاط نهاية العضوية، بالإضافة إلى addedUserIds عند قبول الدعوة والتزويد التلقائي الفوري (عبر النطاق البريدي والبروتوكول الموحد للمؤسسات) (#8840).
هذا التغيير تراكمي وغير كاسر للتوافق: الحقول الفارغة يتم حذفها، وكل مصفوفة محدودة بحد أقصى 5000 عنصر لعمليات الدُفعة (يمكنك التحقق عبر GET /organizations/:id/users أو .../applications إذا تجاوزت هذا الحد). راجع مرجع ويب هوك لعقد التوثيق الكامل. هذا التغيير يحل محل اقتراح سابق من المجتمع — شكرًا لـ @chiche84 (#8752).
وأثناء تحديث كود الجلسات، حصل GET /api/my-account/sessions أيضًا على علم isCurrent لكل إدخال، حتى تتمكن واجهات إدارة الجلسة من تمييز صف "هذا الجهاز" وتجنب إنهاء جلسة المتصل نفسه (#8731).
استهدفت عدة تغييرات المستأجرين ذوي المنظمات الضخمة:
GET /organizations/:id/users الأدوار من خلال استعلام جانبي LATERAL، بحيث يتم تقليم مجموعة المستخدمين عبر LIMIT قبل تشغيل بحث الأدوار — بدلاً من معالجة تقاطع جميع الأعضاء × الأدوار لكل طلب مقسّم (#8826).organization_user_relations (tenant_id, user_id)، يتم تفعيله عند كل تسجيل دخول ومن خلال وسط العضوية (#8818)، وآخر على organization_role_user_relations (tenant_id, organization_id, user_id) يُستخدم من قبل getUserScopes وتقاطع الأدوار لكل مستخدم (#8819).PUT /organizations/:id/users إلى استعلام جديد معتمد على الفرق، بحيث يكتب الصفوف التي تغيرت فقط، بدلاً من إعادة كتابة كافة صفوف العضوية في كل استدعاء — ويتم الحفاظ على تعيينات الأدوار للأعضاء الذين لم يتغيروا (#8820).prompt=none بدلاً من العودة إلى شاشة تسجيل الدخول، بفضل @taka-guevara (#8785).connectorId بشكل صحيح (#8758)، ووسم زر تفعيل التحقق بخطوتين أصبح أوضح (#8792).يضيف هذا الإصدار ثلاث موصلات ويُحسن عدة أخرى — بعضها من المجتمع:
user وpass، بحيث تعمل الإنذارات التي تعتمد على المصدر (مثل IP/VLAN) دون الحاجة لتزوير بيانات الدخول (#8888).بعض التغييرات خصيصًا لتسهيل أعمال نشر نسخة المصادر المفتوحة:
إعداد المدير بدون اتصال بالإنترنت. تقبل أوامر
installوdb seedالآن وسيط--dapc(اختصارًا لـ--disable-admin-pwned-password-check). سياسة كلمة المرور الأولية لمستأجر المدير تفرض التحقق من تسريب كلمة المرور في خدمة Have I Been Pwned بشكل افتراضي، وهو ما يستدعيapi.pwnedpasswords.comعند كل إدخال كلمة مرور للمدير — ويعلق أول تسجيل مدير إذا لم يكن هناك اتصال. تمرير--dapcيعطل التحقق من التسريب افتراضيًا ولا يعتمد بعدها تسجيل المدير على الإنترنت. (شكرًا لـ @darcyYe، #8859)
مفاتيح توقيع المدير من قاعدة البيانات. الآن تقرأ إصدارات المصادر المفتوحة مفاتيح توقيع مستأجر المدير مباشرة من قاعدة البيانات، ملغيةً الحاجة لإعدادات المضيف/ DNS الزائدة التي كانت تتيح سابقًا لحاوية Logto جلب إعدادات OIDC الخارجية (#8869).
مطلوب ترقية قاعدة البيانات. يشحن الإصدار v1.40.0 تعديلات على مخطط قاعدة البيانات (مؤشرات علاقات المنظمات الجديدة وأعمدة داخلية إضافية). بعد جلب النسخة الجديدة، نفذ خطوة تحديث قاعدة البيانات قبل تشغيل الخادم. راجع دليل الترقية.
مستعد للترقية؟ راجع دليل الترقية للحصول على تعليمات خطوة بخطوة.
لقائمة التغييرات الكاملة، تفضل بزيارة صفحة الإصدار على GitHub.
هل لديك أسئلة أو ملاحظات؟ انضم إلينا على Discord أو افتح تذكرة على GitHub.