• v3.0.0 dfb18502ee

    v3.0.0
    All checks were successful
    build-and-release / docker (push) Successful in 3s
    Stable

    debe released this 2026-10-12 06:58:25 +00:00 | 14 commits to main since this release

    ⚠️ تغيير جذري في المصادقة

    أُزيلت بوابة كلمة المرور الواحدة نهائيًا. الهوية كلها الآن من SimpleAuth عبر OIDC.

    Added

    • دخول موحّد عبر SimpleAuth (OIDC authorization code + PKCE S256)، مع تجديد صامت للجلسة.
    • تحقق محلي من الرموز بتوقيع RS256 عبر node:crypto ومفاتيح JWKS — بلا أي حزمة npm، وبلا طلب شبكة لكل طلب.
    • أدوار: دور المدير (SAUTH_ADMIN_ROLE) يفتح الإعدادات والحذف النهائي والاستعادة؛ غيره للمواضيع والتحديثات.
    • اسم الكاتب مثبّت على المستخدم المسجّل — لا يمكن انتحال اسم غيره (كان حقلًا حرًا).
    • عميل OIDC كامل في lib/simpleauth.js: اكتشاف، PKCE، تبادل الرمز، تجديد، JWKS مع تحديث عند تدوير المفاتيح، وجلب الملف الشخصي.
    • جدول جلسات في قاعدة البيانات (كوكي عشوائي HttpOnly، قابل للإبطال، ويُنظَّف تلقائيًا).
    • صورة SimpleAuth في docker/simpleauth.Dockerfile من الثنائي الرسمي مع تحقق sha256 وقت البناء.
    • docker-compose يشغّل الخدمتين معًا مع ربط شهادات TLS الخاصة بك من ./certs.
    • واجهة: شارة المستخدم ودوره، شاشة دخول جديدة، وإخفاء الإعدادات عن غير المدير.
    • 14 اختبار تكامل مع mock كامل لـ SimpleAuth (JWKS حقيقي، PKCE، انتحال، أدوار، تجديد، حالات فشل).

    Removed

    • كلمة مرور التطبيق وكل ما يتعلق بها (hashPassword/verifyPassword، scripts/reset-password.mjs، حقول الإعدادات).

    Changed

    • updates.author لم يعد يُقبل من العميل؛ يُشتق من الجلسة.
    • نقطة /api/health تُبلّغ authRequired بدل passwordSet، وأُضيفت /api/me.
    • جاهز لـ Active Directory: عند ربط AD لاحقًا لا يتغير أي كود في التطبيق، وأي حساب معطّل في AD يُمنع عند أول تجديد.
    Downloads