[{"data":1,"prerenderedAt":215},["ShallowReactive",2],{"seo-verification":3,"blog-ثغرات-keycloak-الأسبوع-38-هجرة-إلى-authelia-zitadel-ar":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-ثغرات-keycloak-الأسبوع-38-هجرة-إلى-authelia-zitadel-ar",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":33,"intro":36,"sections":37,"ctaTitle":152,"ctaBody":153,"ctaButton":154,"ctaUrl":155,"relatedPosts":156},372,"ثغرات-keycloak-الأسبوع-38-هجرة-إلى-authelia-zitadel",{"fr":12,"en":13,"ar":10,"es":14},"keycloak-cves-semaine-38-migrer-authelia-zitadel-vps","keycloak-cves-week-38-migrate-authelia-zitadel-vps","keycloak-cves-semana-38-migrar-authelia-zitadel-vps","‎Keycloak v26.7.4‎ : 6 ثغرات — ‎Authelia‎ أو ‎ZITADEL‎","‏Keycloak v26.7.4‏ يُصلح 6 ثغرات منها هجومان ‏DoS‏ دون مصادقة. لأقل من 10 تطبيقات ‏SSO‏ على ‏VPS‏، ‏Authelia‏ أو ‏ZITADEL‏ يُقلّصان سطح الهجوم.",12,0,false,"2026-09-23T00:00:00+00:00","2026-09-23T15:23:17+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},8,"الأمان والمراقبة","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fkeycloak-cves-semaine-38-migrer-authelia-zitadel-vps-poster.svg",{"categorySlug":34,"appSlug":35},"الأمن-السيبراني-والحصن","authelia","في 16 سبتمبر 2026، أصدر فريق ‏Keycloak‏ الإصدار 26.7.4 بنشرة غير اعتيادية: ست ثغرات مُصلَّحة في إصدار واحد، اثنتان منهما تُتيحان لأي شخص عبر الإنترنت تعطيل الخادم دون أي بيانات اعتماد. إذا كنت تدير ‏SSO‏ لأقل من عشرة تطبيقات على خادم ‏VPS‏، فهذا الإشارة تستحق التوقف عندها: هل ‏Keycloak‏ لا يزال الأداة المناسبة؟ يستعرض هذا الدليل الثغرات الست، ويقارن البدائل الخفيفة ‏Authelia‏ و‏ZITADEL‏، ويقترح مسار هجرة عملياً مع تشغيل ‏Keycloak‏ بالتوازي.",[38,42,52,99,102,121,124,142,146,149],{"type":39,"title":40,"body":41},"h2","‏Keycloak v26.7.4‏ — لماذا تُغيّر 6 ثغرات في أسبوع واحد المشهد","صدرت ملاحظات الإصدار 26.7.4 في 16 سبتمبر 2026، بعد أسبوع واحد من الإصدار 26.7.3 الذي كان قد أغلق بدوره عدة ثغرات. هذا الإيقاع يكشف عن دين تقني هيكلي في سطح تعرّض ‏Keycloak‏: يدعم المشروع عشرات البروتوكولات (‏OIDC‏، ‏SAML‏، ‏LDAP‏، ‏Kerberos‏)، وواجهة إدارة كاملة، ومحرّك سمات من جانب الخادم. كل طبقة تحمل سطح شبكة خاصاً بها.\n\nأشد الثغرتين خطورةً (‏CVE-2026-79651‏، ‏CVSS 7.5‏، و‏CVE-2026-18212‏، ‏CVSS 7.5‏) رمزيتان للمشكلة: تتيحان لمهاجم غير مصادَق استنزاف ذاكرة عملية ‏Keycloak‏ بضرب نقاط نهاية متاحة للعموم — صفحة تسجيل الدخول ونقاط نهاية ‏SAML‏ — دون الحاجة إلى أي حساب. على خادم ‏VPS‏ بذاكرة 2 إلى 4 غيغابايت مشتركة بين عدة خدمات، يمكن لمثل هذا الناقل إسقاط المجموعة الكاملة.\n\nمؤشر آخر: الإصدار 26.7.1 الذي صدر قبل أسابيع قليلة كان قد أدخل بدوره ثغرات أمنية تُصلحها 26.7.4 جزئياً (‏CVE-2026-74909‏ موثّقة صراحةً بوصفها «إصلاحاً غير مكتمل» للإصدار 26.7.1). دورتا تصحيح في أقل من شهر على إصدارات ثانوية متتالية تدل على أن الكود السطحي تحت ضغط.",{"type":43,"title":44,"items":45},"ul","ما الذي كان بإمكان كل ثغرة السماح به — ملخص غير تقني",[46,47,48,49,50,51],"‏**CVE-2026-79651 (CVSS 7.5 — عالية)**‏: يقبل ‏Keycloak‏ وسوم ‏locale‏ عشوائية على نقاط نهاية السمات دون حدٍّ أو تحقق. يُرسل المهاجم ‏locale‏ فريدة في حلقة من الشبكة العامة؛ كل طلب يُخصّص ذاكرة لا تُحرَّر أبداً. النتيجة: تعطل العملية بسبب نفاد الذاكرة، دون الحاجة إلى أي بيانات اعتماد.","‏**CVE-2026-18212 (CVSS 7.5 — عالية)**‏: تُسرّب مساعدات ‏SAML Redirect DEFLATE‏ حالة مكتبة ‏zlib‏ الأصلية. يكفي طلب ‏SAML‏ مشوّه لتشغيل تلف في الذاكرة قد يؤدي إلى تعطل الخادم أو تسريب بيانات الجلسة.","‏**CVE-2026-74909 (CVSS 8.1 — عالية)**‏: يتجاوز الفاصلة المنقوطة المُرمَّزة بالنسبة المئوية (`%3B`) تنظيف معاملات ‏matrix‏ في ‏PathMatcher‏. يستطيع المهاجم الوصول إلى مورد محمي بسياسة أكثر صرامة باستخدام النموذج الأقل تقييداً للمسار نفسه.","‏**CVE-2026-90997 (CVSS 7.4 — عالية)**‏: على عمليات النشر التي تستخدم ‏MySQL‏ أو ‏MariaDB‏، يجعل عدد الصفوف الافتراضي الذي يُعيده محرك التخزين بوابات مكافحة إعادة التشغيل غير فعّالة. يمكن إعادة استخدام بيانات اعتماد مصادقة مستعملة سابقاً.","‏**CVE-2026-17526 (CVSS 7.2 — عالية)**‏: يستطيع دور `impersonation` انتحال هوية مسؤول ‏realm‏. يمكن لمشغّل بصلاحيات محدودة رفع صلاحياته إلى الإدارة الكاملة لـ‏realm‏.","‏**CVE-2026-19607 (CVSS 5.3 — متوسطة)**‏: يؤدي تصادم اسم مستخدم في تدفق فيدرالية الهوية (‏broker‏) إلى إقفال حساب المستخدم الشرعي. يُطرد المستخدم الشرعي من حسابه دون أي تصرف منه.",{"type":53,"title":54,"headers":55,"rows":60},"comparison","‏Keycloak‏ مقابل ‏Authelia‏ مقابل ‏ZITADEL‏ — الاختيار حسب سياق ‏VPS‏ الخاص بك",[56,57,58,59],"المعيار","‏Keycloak 26.7.4‏","‏Authelia 4.x‏","‏ZITADEL 2.x‏",[61,66,70,74,79,84,89,94],[62,63,64,65],"ذاكرة الوصول العشوائي في وضع الخمول","512 ميغابايت – 1 غيغابايت (‏JVM‏)","أقل من 30 ميغابايت (‏Go‏)","150 – 300 ميغابايت (‏Go‏ + ‏CockroachDB‏ أو ‏PostgreSQL‏)",[67,68,69,69],"اللغة \u002F بيئة التشغيل","‏Java (JVM)‏","‏Go‏ — ملف تنفيذي واحد",[71,72,72,73],"الترخيص","‏Apache 2.0‏","‏Apache 2.0‏ (الجوهر)",[75,76,77,78],"البروتوكولات","‏OIDC، SAML، LDAP، Kerberos، WebAuthn‏","‏OIDC‏، مصادقة ثنائية (‏TOTP، WebAuthn‏)","‏OIDC، OAuth2، SAML، LDAP، WebAuthn‏",[80,81,82,83],"واجهة الإدارة","كاملة — ‏realms‏، ‏clients‏، تدفقات","‏YAML‏ فقط","لوحة تحكم ويب + ‏API gRPC\u002FREST‏",[85,86,87,88],"الأنسب لـ","أكثر من 20 تطبيق، فيدرالية ‏LDAP‏، ‏SAML‏ للمؤسسات","أقل من 10 تطبيقات، مصادقة ‏proxy‏، فريق تقني","أقل من 20 تطبيق، فريق تطوير، ‏API-first‏",[90,91,92,93],"قابلية الصيانة على ‏VPS‏","ثقيلة: ‏JVM‏، تكوين ‏XML‏، ترحيلات","خفيفة: ملف ‏YAML‏ واحد، ملف تنفيذي واحد","متوسطة: قاعدة بيانات مطلوبة، لكن ‏API‏ واضحة",[95,96,97,98],"سطح الثغرات (تاريخياً)","مرتفع: 6 ثغرات في ‏v26.7.4‏ وحده","منخفض: أقل من 5 ثغرات منذ 2022","منخفض إلى متوسط: مشروع أحدث",{"type":39,"title":100,"body":101},"‏Authelia‏ — ‏SSO‏ خفيف لأقل من 10 تطبيقات","‏Authelia‏ خادم مصادقة وتفويض مكتوب بلغة ‏Go‏. يعرض نقطة نهاية لتحقق ‏HTTP‏ يستطيع ‏reverse proxy‏ الخاص بك (‏nginx‏، ‏Traefik‏، ‏Caddy‏) الاستعلام عنها لحماية التطبيقات دون الحاجة إلى تطبيق ‏OIDC‏ نفسه. يدعم أيضاً تدفق ‏OIDC‏ الكامل للتطبيقات التي تطلبه.\n\nبصمة الذاكرة هي ميزته التشغيلية الرئيسية: في وضع الخمول، يستهلك ‏Authelia‏ بين 20 و30 ميغابايت من ذاكرة الوصول العشوائي وفقاً للقياسات المنشورة في مشكلات ‏GitHub‏ للمشروع (نقاشات #5939 و#6048). على خادم ‏VPS‏ بـ2 غيغابايت مشتركة بين ‏Nextcloud‏ وخادم بريد و‏reverse proxy‏، هذا لا يُذكر مقارنةً بالحد الأدنى لـ‏JVM‏ الخاص بـ‏Keycloak‏ البالغ 512 ميغابايت.\n\nالتكوين تصريحي بالكامل (‏YAML‏). لا توجد واجهة رسومية للإدارة — ميزة أمنياً (لا نقطة نهاية للإدارة قابلة للكشف) وعيب للفرق غير التقنية. لمطوّر منفرد أو فريق صغير يدير تطبيقاته الخاصة على ‏VPS‏، كثيراً ما يكون ‏Authelia‏ هو الخيار الصحيح.",{"type":103,"title":104,"steps":105},"steps","الهجرة من ‏Keycloak‏ إلى ‏Authelia‏ — تصدير ‏OIDC‏، التكوين، الاختبارات",[106,109,112,115,118],{"title":107,"body":108},"تصدير تكوين ‏OIDC‏ من ‏Keycloak‏","في لوحة تحكم ‏Keycloak‏، انتقل إلى ‏Realm Settings → Export‏. ضع علامة على «‏Export clients‏» و«‏Export groups‏». نزّل ملف ‏JSON‏ الناتج — يحتوي على عملاء ‏OIDC‏ الخاصين بك مع عناوين ‏URL‏ للإعادة ونطاقاتهم. يُستخدم هذا الملف مرجعاً لإعادة تكوين كل تطبيق في ‏Authelia‏؛ لا يُستورد مباشرةً.",{"title":110,"body":111},"تثبيت ‏Authelia‏ باستخدام ‏Docker Compose‏","أنشئ ملف `docker-compose.yml` بسيطاً:\n\n`services:`\n`  authelia:`\n`    image: authelia\u002Fauthelia:latest`\n`    volumes:`\n`      - .\u002Fconfig:\u002Fconfig`\n`    ports:`\n`      - 9091:9091`\n`    restart: unless-stopped`\n\nأنشئ مجلد `config\u002F` وضع فيه `configuration.yml`. يوفر الوثائق الرسمية هيكلاً كاملاً على `https:\u002F\u002Fwww.authelia.com\u002Fconfiguration\u002Fprologue\u002Fintroduction\u002F`.",{"title":113,"body":114},"تكوين عملاء ‏OIDC‏ في ‏Authelia‏","لكل تطبيق منقول من ‏Keycloak‏، أضف مدخلاً تحت `identity_providers.oidc.clients` في `configuration.yml`:\n\n`identity_providers:`\n`  oidc:`\n`    clients:`\n`      - id: my-app`\n`        secret: '$pbkdf2-sha512$...'`\n`        redirect_uris:`\n`          - https:\u002F\u002Fmy-app.example.com\u002Foauth\u002Fcallback`\n`        scopes: [openid, email, profile]`\n\nولّد السر باستخدام `authelia crypto hash generate pbkdf2 --variant sha512`. استخدم ملف ‏JSON‏ المُصدَّر من ‏Keycloak‏ للعثور على عناوين ‏URI‏ لإعادة التوجيه لكل عميل.",{"title":116,"body":117},"تكوين ‏reverse proxy‏ للاستعلام من ‏Authelia‏","يعمل ‏Authelia‏ كوسيط تحقق. في ‏nginx‏، أضف كتلة `auth_request`:\n\n`location \u002Fauthelia {`\n`  internal;`\n`  proxy_pass http:\u002F\u002Fauthelia:9091\u002Fapi\u002Fauthz\u002Fforward-auth;`\n`  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;`\n`}`\n\n`location \u002F {`\n`  auth_request \u002Fauthelia;`\n`  proxy_pass http:\u002F\u002Fmy-app:3000;`\n`}`\n\nللتطبيقات التي تستخدم ‏OIDC‏ أصلياً، وجّه المُصدر إلى `https:\u002F\u002Fauth.your-domain.com`.",{"title":119,"body":120},"اختبار كل تطبيق قبل قطع الاتصال بـ‏Keycloak‏","لكل تطبيق منقول، تحقق من ثلاثة تدفقات: تسجيل الدخول الأول (التحويل إلى ‏Authelia‏ → المصادقة → العودة إلى التطبيق)، وتسجيل الخروج (إلغاء صلاحية ملف تعريف الارتباط وجلسة التطبيق)، والعامل الثاني إن كان مُفعَّلاً. لا تقطع الاتصال بـ‏Keycloak‏ إلا بعد التحقق من صحة جميع التدفقات لجميع التطبيقات. أبقِ حاوية ‏Keycloak‏ موقوفة لا محذوفة لمدة 30 يوماً.",{"type":39,"title":122,"body":123},"‏ZITADEL‏ — ‏IdP‏ أول بالـ‏API‏ لفرق التطوير","‏ZITADEL‏ هو مزوّد هوية مكتوب بلغة ‏Go‏، مُرخَّص بموجب ‏Apache 2.0‏، تُصدره الشركة السويسرية ‏ZITADEL Cloud‏. مستودعه الرسمي هو `github.com\u002Fzitadel\u002Fzitadel`. بينما صُمِّم ‏Authelia‏ كوسيط ‏proxy‏، ‏ZITADEL‏ هو ‏IdP‏ كامل المزايا بواجهة برمجية ‏gRPC\u002FREST‏ من الدرجة الأولى — مبني للمؤسسات التي تبني التطبيقات لا مجرد حمايتها.\n\nبصمة الذاكرة أعلى من ‏Authelia‏ لأن ‏ZITADEL‏ يتطلب قاعدة بيانات (‏PostgreSQL‏ أو ‏CockroachDB‏)، لكنها تبقى في نطاق 150-300 ميغابايت في ظل الحمل الطبيعي — أقل بكثير من حد ‏JVM‏ الأدنى لـ‏Keycloak‏ البالغ 512 ميغابايت. يدعم المشروع ‏OIDC‏ و‏OAuth2‏ و‏SAML 2.0‏ و‏LDAP‏ للقراءة فقط و‏WebAuthn‏.\n\n‏ZITADEL‏ مناسب بشكل خاص لفرق التطوير التي تبني تطبيقات ‏SaaS‏ وتحتاج إلى إدارة المؤسسات والمستخدمين برمجياً عبر ‏API‏، دون الحاجة إلى واجهة رسومية لكل عملية. لوحة التحكم متوفرة لكن ‏API‏ هو المسار الرئيسي.",{"type":103,"title":125,"steps":126},"الهجرة من ‏Keycloak‏ إلى ‏ZITADEL‏ — إجراء على ‏VPS‏",[127,130,133,136,139],{"title":128,"body":129},"نشر ‏ZITADEL‏ باستخدام ‏Docker Compose‏","يوفر ‏ZITADEL‏ ملف `docker-compose.yml` رسمياً في مستودع ‏GitHub‏ الخاص به (مجلد `e2e\u002F`). يتطلب التكوين الأدنى ‏PostgreSQL‏ (أو ‏CockroachDB‏) ومفتاح `ZITADEL_MASTERKEY` مكوّن من 32 حرفاً:\n\n`ZITADEL_MASTERKEY=$(openssl rand -base64 32)`\n\nراجع الوثائق الرسمية على `https:\u002F\u002Fzitadel.com\u002Fdocs\u002Fself-hosting\u002Fdeploy\u002Fcompose` للملف الكامل والمتغيرات البيئية المطلوبة.",{"title":131,"body":132},"إنشاء تطبيقات ‏OIDC‏ في ‏ZITADEL‏","في لوحة تحكم ‏ZITADEL‏ (`https:\u002F\u002Fyour-instance:8080`)، أنشئ منظمة ثم مشروعاً. داخل هذا المشروع، أنشئ تطبيقاً من نوع «‏Web‏» أو «‏User Agent‏» حسب حالة استخدامك.\n\nيُنشئ ‏ZITADEL‏ معرّف عميل وسراً. كوّن عناوين ‏Redirect URI‏ باستخدام ملف ‏JSON‏ المُصدَّر من ‏Keycloak‏ كمرجع. نقطة نهاية الاكتشاف متاحة على `https:\u002F\u002Fyour-instance:8080\u002F.well-known\u002Fopenid-configuration`.",{"title":134,"body":135},"ترحيل المستخدمين من ‏Keycloak‏","يمكن لـ‏Keycloak‏ تصدير المستخدمين من ‏realm‏ كـ‏JSON‏ عبر لوحة التحكم (‏Realm Settings → Export‏ → ضع علامة على «‏Export users‏»). كلمات المرور المُجزَّأة لا يمكن استيرادها مباشرةً في ‏ZITADEL‏ — تختلف خوارزميات التجزئة.\n\nنهجان: (1) استيراد بيانات المستخدمين عبر ‏API ZITADEL‏ مع إجبار إعادة تعيين كلمة المرور عند تسجيل الدخول الأول، أو (2) ترحيل تدريجي عبر تسجيل الدخول الاجتماعي\u002F‏OIDC‏ (يستهلك ‏ZITADEL‏ ‏Keycloak‏ كـ‏IdP‏ خارجي أثناء الانتقال). النهج (2) يتجنب مطالبة جميع المستخدمين بإعادة تعيين كلمة المرور في نفس اليوم.",{"title":137,"body":138},"تحديث تطبيقاتك للإشارة إلى ‏ZITADEL‏","حدّث متغيرات البيئة لكل تطبيق:\n\n`OIDC_ISSUER=https:\u002F\u002Fyour-instance:8080`\n`OIDC_CLIENT_ID=\u003Czitadel-client-id>`\n`OIDC_CLIENT_SECRET=\u003Czitadel-client-secret>`\n\nتسمح نقطة نهاية الاكتشاف لمعظم مكتبات ‏OIDC‏ بالتكوين الذاتي. اختبر كل تطبيق بحساب اختبار قبل تبديل حركة مرور الإنتاج.",{"title":140,"body":141},"التحقق من صحة تدفقات ‏SSO‏ وتعطيل ‏Keycloak‏","تحقق من تسجيل الدخول وتسجيل الخروج وتحديث الرمز المميز والعامل الثاني على كل تطبيق. في ‏ZITADEL‏، تتيح لك علامة تبويب «‏Sessions‏» في لوحة التحكم رؤية الجلسات النشطة في الوقت الفعلي وإلغاءها عند الحاجة.\n\nأبقِ حاوية ‏Keycloak‏ موقوفة لا محذوفة لمدة 30 يوماً. احذفها بعد انتهاء فترة الاحتفاظ.",{"type":143,"title":144,"body":145},"tip","الإبقاء على ‏Keycloak‏ يعمل بالتوازي — استراتيجية التحويل النظيف","الاعتراض الكلاسيكي على ترحيل ‏IdP‏ صحيح: جميع تطبيقاتك تشترك في مزوّد هوية واحد. إذا فشل الترحيل في منتصف الطريق، لا أحد يستطيع تسجيل الدخول.\n\nالاستراتيجية الموصى بها هي الإبقاء على ‏Keycloak‏ يعمل طوال مدة الترحيل وتحويل التطبيقات واحداً تلو الآخر. تُيسّر عدة آليات ذلك:\n\n**‏DNS‏ لكل تطبيق**: يُشير كل تطبيق إلى ‏IdP‏ عبر متغير بيئي. غيّر `OIDC_ISSUER` لتطبيق واحد في كل مرة، اختبره، ثم انتقل إلى التالي. يستمر ‏Keycloak‏ في خدمة التطبيقات غير المنقولة بعد.\n\n**جلسات مستقلة**: يُنشئ ‏OIDC‏ جلسات تطبيق مستقلة. لا يُلغي تطبيق منقول إلى ‏Authelia‏ أو ‏ZITADEL‏ الجلسات النشطة للتطبيقات التي لا تزال على ‏Keycloak‏.\n\n**أفق 30 يوماً**: تستغرق معظم عمليات ترحيل أقل من 10 تطبيقات من يومين إلى خمسة أيام من العمل التقني. خطّط لأسبوع، تحقق لمدة 30 يوماً، ثم اقطع الاتصال. الأمر `docker compose stop keycloak` قابل للعكس في 30 ثانية.",{"type":39,"title":147,"body":148},"الأخطاء الشائعة أثناء ترحيل ‏SSO‏","أربعة مخاطر تتكرر باستمرار في عمليات الترحيل من ‏Keycloak‏ إلى البدائل الخفيفة.\n\n**نسيان عناوين ‏URI‏ لإعادة التوجيه**: يتحقق ‏Keycloak‏ من عناوين ‏redirect URI‏ بدقة تامة بشكل افتراضي. ‏Authelia‏ و‏ZITADEL‏ يفعلان الشيء ذاته. إذا أرسل تطبيقك `https:\u002F\u002Fapp.example.com\u002Fcallback` لكن تكوين ‏IdP‏ يُعلن `https:\u002F\u002Fapp.example.com\u002Foauth\u002Fcallback`، تفشل المصادقة بخطأ `redirect_uri_mismatch`. تحقق من كل عنوان ‏URI‏ في ملف ‏JSON‏ المُصدَّر من ‏Keycloak‏.\n\n**النطاقات والمطالبات ليست متطابقة**: يمكن تكوين ‏Keycloak‏ لإعادة مطالبات مخصصة (أدوار، سمات المستخدم) تستهلكها تطبيقاتك. يُعيد ‏Authelia‏ بشكل افتراضي `openid` و`profile` و`email` فقط. إذا اعتمد تطبيقك على مطالبة `roles` أو `groups`، تحقق من قدرة ‏IdP‏ المستهدف على إنتاجها قبل قطع الاتصال بـ‏Keycloak‏.\n\n**جلسة ‏IdP‏ وجلسة التطبيق منفصلتان**: لا يؤدي تسجيل الخروج من ‏IdP‏ تلقائياً إلى تسجيل الخروج من التطبيق إذا لم يُطبّق ‏back-channel logout‏. قد يظل المستخدمون مسجّلين دخولهم في التطبيق بعد تسجيل خروجهم من ‏IdP‏. اختبر تدفق تسجيل الخروج الكامل صراحةً.\n\n**انجراف الساعة يُلغي صلاحية الرموز**: تتمتع رموز ‏OIDC‏ بنافذة صلاحية قصيرة (عادةً 5 إلى 15 دقيقة). إذا انجرفت ساعة ‏VPS‏ الخاص بك بأكثر من بضع عشرات من الثواني، تنتهي صلاحية الرموز قبل استخدامها. تحقق من أن `chrony` أو `systemd-timesyncd` نشط على ‏VPS‏ الخاص بك باستخدام `timedatectl status`.",{"type":39,"title":150,"body":151},"بعد الترحيل — اختبار المصادقة لكل تطبيق","ترحيل ‏SSO‏ لم يكتمل عندما يعمل أول تسجيل دخول. إليك قائمة التحقق الأدنى التي يجب تطبيقها على كل تطبيق.\n\n**تسجيل الدخول الأول**: افتح جلسة تصفح خاصة (لا ملفات تعريف ارتباط موجودة) وسجّل دخولك. يجب أن تعمل إعادة التوجيه إلى ‏IdP‏، وتنجح المصادقة، وتهبط العودة إلى التطبيق على الصفحة الصحيحة.\n\n**رمز التحديث**: انتظر انتهاء صلاحية رمز الوصول وتحقق من أن التطبيق يُحدّث الرمز بصمت دون إجبار إعادة تسجيل الدخول.\n\n**تسجيل الخروج**: سجّل الخروج من التطبيق وتحقق من إلغاء صلاحية الجلسة على جانب ‏IdP‏ (‏Authelia‏: ملف تعريف ارتباط `authelia_session` غائب؛ ‏ZITADEL‏: الجلسة غائبة من لوحة التحكم). حاول الوصول إلى مورد محمي بعد تسجيل الخروج — يجب أن تُحوَّل إلى صفحة تسجيل الدخول.\n\n**العامل الثاني**: إذا كان المصادقة الثنائية مُفعَّلة، اختبر ‏TOTP‏ و‏WebAuthn‏ بشكل منفصل. جلسات ‏WebAuthn‏ مرتبطة بالنطاق — الترحيل المتزامن للنطاق سيُلغي صلاحية جميع مفاتيح المرور الموجودة.\n\n**الوصول غير المصرح به**: حاول الوصول إلى مورد محمي دون رمز صالح وتحقق من أن الاستجابة هي 401 أو إعادة توجيه إلى ‏IdP‏، وليست 500 أو صفحة تطبيق بدون بيانات.","‏Authelia‏ أو ‏ZITADEL‏ يُنشران على ‏VPS‏ الخاص بك في دقائق","يوفر ‏ServOrbit‏ تطبيق ‏Authelia‏ في سوق التطبيقات. انشر ‏SSO‏ خفيف الوزن على ‏VPS‏ الخاص بك دون تكوين ‏Docker Compose‏ يدوي.","نشر ‏Authelia‏ على ‏VPS","\u002Fmarketplace\u002Fsecurite\u002Fauthelia",[157,176,192],{"id":158,"slug":159,"slugs":160,"title":164,"excerpt":165,"readTime":166,"views":167,"isPinned":19,"publishedAt":168,"updatedAt":169,"category":170,"categories":171,"featuredImage":30,"bgImage":31,"posterImage":173,"relatedSolution":174},272,"authentik-أو-authelia-أو-keycloak-اختيار-sso-على-vps",{"fr":161,"en":162,"ar":159,"es":163},"authentik-vs-authelia-keycloak-sso-vps-2026","authentik-authelia-or-keycloak-choosing-your-sso-on-vps","authentik-authelia-o-keycloak-elegir-sso-en-vps","‏Authentik أو ‏Authelia أو ‏Keycloak: اختيار ‏SSO على ‏VPS","‏مقارنة Authentik وAuthelia وKeycloak على VPS: استهلاك الذاكرة الحقيقي، البروتوكولات المدعومة وثغرات Keycloak 26.7.1 لاختيار نظام الهوية الأنسب.",6,1,"2026-08-16T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[172],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fauthentik-vs-authelia-keycloak-sso-vps-2026-poster.svg",{"categorySlug":34,"appSlug":175},"authentik",{"id":177,"slug":178,"slugs":179,"title":183,"excerpt":184,"readTime":166,"views":185,"isPinned":19,"publishedAt":186,"updatedAt":169,"category":187,"categories":188,"featuredImage":30,"bgImage":31,"posterImage":190,"relatedSolution":191},162,"استضافة-authelia-على-vps-مصادقة-ثنائية-ودخول-موحد-لمنظومتك",{"fr":180,"en":181,"ar":178,"es":182},"self-host-authelia-vps","self-host-authelia-on-a-vps-mfa-and-sso-for-your-whole-stack","alojar-authelia-en-un-vps","استضافة Authelia على VPS: مصادقة ثنائية ودخول موحّد لمنظومتك","انشر Authelia على خادم VPS لإضافة المصادقة الثنائية (MFA) والدخول الموحّد (SSO) والتحكم الدقيق في الوصول أمام أي تطبيق مُستضاف ذاتياً، دون تغيير الكود وبملف تهيئة واحد.",2,"2026-07-04T00:00:00+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[189],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fself-host-authelia-vps-poster.svg",{"categorySlug":27,"appSlug":35},{"id":193,"slug":194,"slugs":195,"title":199,"excerpt":200,"readTime":201,"views":18,"isPinned":19,"publishedAt":202,"updatedAt":203,"category":204,"categories":210,"featuredImage":30,"bgImage":31,"posterImage":212,"relatedSolution":213},351,"zitadel-vps-iam-maftouh-almassdar-lilmutatawireen",{"fr":196,"en":197,"ar":194,"es":198},"deployer-zitadel-vps","self-host-zitadel-vps-open-source-iam-developers","instalar-zitadel-vps-iam-codigo-abierto-desarrolladores","ZITADEL على VPS: منصة IAM مفتوحة المصدر للمطورين","انشر ZITADEL باستضافة ذاتية على VPS: OIDC وOAuth 2.0 ومفاتيح المرور وmulti-tenancy مع Docker Compose.",3,"2026-01-08T00:00:00+00:00","2026-09-16T14:44:13+00:00",{"id":205,"name":206,"slug":207,"color":208,"icon":209},7,"الاستضافة الذاتية","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[211],{"id":205,"name":206,"slug":207,"color":208,"icon":209},"\u002Fblog\u002Fcovers\u002Fdeployer-zitadel-vps-poster.svg",{"categorySlug":27,"appSlug":214},"zitadel",1790177229595]