قم بربط ownCloud Infinite Scale بـ Keycloak باستخدام OIDC

كثيرًا ما يصل المستخدمون إلى صفحة تسجيل الدخول إلى Keycloak، ويُجرون عملية المصادقة، ثم يعودون إلى شاشة تسجيل الدخول إلى ownCloud Infinite Scale، أو يواجهون خطأ "مستخدم غير معروف". وتشمل الأسباب الشائعة عدم تطابق مُصدر النطاق، أو استخدام عميل ويب منسوخ من إصدار تجريبي مختلف، أو عدم تطابق بيانات الهوية مع حساب oCIS. لذا، قم بتهيئة Keycloak كمزود OpenID Connect (OIDC) خارجي لـ oCIS، وقم بمطابقة القيم الثلاث المذكورة، وتأكد من قدرة المتصفح والعملاء على الوصول إلى المزود عبر HTTPS.

يستخدم هذا الدليل مضيفين افتراضيين: cloud.example.comأحدهما لـ oCIS والآخر sso.example.comلـ Keycloak. يستند التكوين إلى وثائق ownCloud Infinite Scale 8.2؛ لذا يُرجى مقارنة الأسماء مع وثائق الإصدار المُثبّت لديك قبل تطبيقها. هذا خاص بـ Infinite Scale (oCIS)، وليس بـ ownCloud Server 10.

1. تحقق من النطاق ونقطة نهاية الاكتشاف

يقوم موفر الهوية (IdP) بمصادقة المستخدمين لخدمة أخرى. OpenID Connect هو بروتوكول تسجيل الدخول الذي يسمح لـ oCIS بالوثوق بمعلومات تسجيل الدخول والهوية الخاصة بـ Keycloak. النطاق هو مجموعة منفصلة من المستخدمين والعملاء والإعدادات الخاصة بـ Keycloak. اختر النطاق الذي سيخدم oCIS، ثم حدد عنوان URL الخاص بالجهة المصدرة: بالنسبة للنطاق المذكور كمثال ocis، فهو https://sso.example.com/realms/ocis.

قبل تعديل oCIS، افتحه https://sso.example.com/realms/ocis/.well-known/openid-configurationفي متصفح. يصف مستند اكتشاف OpenID Connect هذا نقاط نهاية الموفر. تأكد من أن قيمته issuerتطابق تمامًا عنوان URL الخاص بالنطاق، بما في ذلك المخطط والمضيف وحالة الأحرف والمسار. يجب ألا تكون جهة الإصدار هي صفحة الإدارة أو عنوان URL الأطول للاكتشاف. يجب أن تكون شهادة TLS الخاصة بالموفر موثوقة من قبل متصفحات المستخدمين وخادم/حاوية oCIS.

يُظهر ملف JSON الخاص باكتشاف OpenID Connect المُصدر https://sso.example.com/realms/ocis في استجابة نطاق Keycloak.
ينبغي أن تتضمن وثيقة الاكتشاف اسم جهة إصدار النطاق المحددة التي تم تكوينها في oCIS.

إذا لم يتم تحميل عنوان URL الخاص بالاكتشاف، فقم أولاً بحل مشكلات نظام أسماء النطاقات (DNS) وتوجيه الخادم الوكيل العكسي وجدار الحماية والشهادة. لا يُعدّ نجاح استجابة المتصفح دليلاً كافياً على قدرة حاوية oCIS على الوصول إلى Keycloak؛ لذا تحقق من إمكانية الوصول إلى الشبكة من شبكة نشر الخادم أيضاً. تتطلب قواعد اكتشاف OpenID Connect أن يُعرّف المُصدر المُعاد نفس المزوّد. راجع مواصفات اكتشاف OpenID Connect .

2. قم بمطابقة عميل Keycloak مع تطبيق الويب oCIS

استخدم مثال نشر Keycloak المُحدّث على منصة ownCloud كنقطة انطلاق، وقم بمطابقة ملف النطاق الخاص به مع إصدار oCIS لديك. لا تخلط بين الإصدارات: يستخدم مثال Compose الحالي مُعرّف عميل الويب web، بينما تنصّ ملاحظات الإعداد القديمة على خلاف ذلك ocis-web. يجب أن يستخدم Keycloak وoCIS مُعرّف العميل نفسه.

في Keycloak، افتح النطاق المحدد وعميل الويب. طابق مسار تسجيل الدخول ومعرّف العميل مع مثال ownCloud. عيّن عناوين URI لإعادة التوجيه إلى عناوين رد الاتصال المطلوبة لهذا النطاق، باستخدام مضيف HTTPS العام. عيّن أصول الويب فقط وفقًا لمتطلبات القالب. الرمز العام أدناه توضيحي فقط، وليس توصية للاستخدام في بيئة الإنتاج: قد تسمح أنماط إعادة التوجيه الواسعة بالوصول إلى وجهات غير مقصودة. تختلف التسميات باختلاف إصدار Keycloak.

تُظهر إعدادات عميل Keycloak على سبيل المثال معرّف عميل الويب والحقول الخاصة بعناوين URI لإعادة التوجيه الصالحة وأصول الويب.
استخدم عنوان URI لإعادة التوجيه ومعرف العميل من قالب المجال الذي يتطابق مع إصدار oCIS الخاص بك؛ القيم المعروضة هي أمثلة.

حافظ على ثبات اسم المضيف العام لـ Keycloak. إذا انتهى بروتوكول TLS عند خادم وكيل عكسي، فقم بتكوين اسم المضيف العام وعناوين الوكيل الموثوقة، وإلا فقد تستخدم عمليات إعادة التوجيه بروتوكولًا أو مضيفًا خاطئًا؛ اتبع إرشادات الوكيل العكسي لـ Keycloak . استبدل بيانات اعتماد مسؤول العرض التوضيحي قبل إتاحة Keycloak.

3. توجيه oCIS إلى نفس المُصدر والعميل

أضف هذه المتغيرات إلى خدمة oCIS في إعدادات النشر، مع الحفاظ على إعداداتها وبياناتها السرية الأخرى. يستخدم المثال عناوين URL وهمية ومعرّف العميل الحالي كمثال.

OCIS_URL=https://cloud.example.com
OCIS_OIDC_ISSUER=https://sso.example.com/realms/ocis
WEB_OIDC_CLIENT_ID=web
PROXY_OIDC_REWRITE_WELLKNOWN=true
OCIS_EXCLUDE_RUN_SERVICES=idp

OCIS_URLهو عنوان oCIS العام؛ يجب أن يتطابق مُصدر العنوان ومعرّف العميل تمامًا مع Keycloak. تُمكّن إعادة الكتابة مسار الاكتشاف المُستخدم من قِبل عملاء سطح المكتب، وAndroid، وiOS. يؤدي الاستبعاد إلى idpإيقاف الموفر المُدمج في عمليات نشر موفر الهوية الخارجي؛ احذفه إذا كان إعدادك يستخدم تلك الخدمة عمدًا.

قائمة محرر التكوين OCIS_URL و OCIS_OIDC_ISSUER و PROXY_OIDC_REWRITE_WELLKNOWN و OCIS_EXCLUDE_RUN_SERVICES.
تشير إعدادات oCIS هذه إلى المصادقة إلى Keycloak وتوجه اكتشاف OIDC إلى الموفر الخارجي.

طبّق التغييرات باستخدام عملية إعادة التشغيل المعتادة لعملية النشر. عند استخدام Docker Compose، شغّل الأمر docker compose up -dمن مجلد compose لإعادة إنشاء الخدمات المُعدّلة، ثم راجع سجلات oCIS. استخدم شهادات TLS موثوقة في بيئة الإنتاج. يُشير مثال ownCloud INSECURE=trueإلى خيار الشهادة الموقعة ذاتيًا على المستوى المحلي؛ قم بإزالته أو ضبطه على "خطأ" على خادم مُتصل بالإنترنت. كما يُنصح بعدم استخدام هذا الخيار PROXY_OIDC_INSECUREفي بيئة الإنتاج.

4. تحديد كيفية قيام نظام oCIS بتحديد المستخدمين

المطالبات هي حقول هوية OIDC، مثل sub`<username>` preferred_usernameأو `<username>` emailأو `<username>`. يستخدمها نظام oCIS للعثور على حساب. بالنسبة للمستخدمين الحاليين، يتم ربطها بالخاصية التي يستخدمونها بالفعل - اسم المستخدم أو البريد الإلكتروني أو معرّف المستخدم. قد يؤدي عدم التطابق إلى ظهور رسالة "لم يتم العثور على المستخدم" بعد قبول Keycloak لتسجيل الدخول.

لإنشاء حسابات عند تسجيل الدخول لأول مرة، قم بتعيين المعرّف PROXY_AUTOPROVISION_ACCOUNTS=trueفقط عند الحاجة وبعد تفعيل خاصية الكتابة في واجهة مستخدم oCIS Graph. يجب أن يكون المعرّف فريدًا وثابتًا ولا يُعاد تعيينه أبدًا. يُعرّف ownCloud المعرّف subعلى أنه مناسب؛ استخدم البريد الإلكتروني أو اسم المستخدم المُفضّل فقط إذا كان من المستحيل تغييره. تأكد من تطابق بيانات الإنشاء والبحث.

PROXY_AUTOPROVISION_ACCOUNTS=true
PROXY_AUTOPROVISION_CLAIM_USERNAME=sub
PROXY_USER_OIDC_CLAIM=sub
PROXY_USER_CS3_CLAIM=username

تأكد من أن Keycloak يُعيد البيانات المُختارة في رمز الوصول أو استجابة معلومات المستخدم. عند تعطيل التزويد التلقائي، لن يتم إنشاء مستخدم جديد عند تسجيل الدخول؛ ومع وجود واجهة خلفية Graph للقراءة فقط، قد يفشل التزويد. أضف تعيين المجموعة أو الدور فقط بعد نجاح تسجيل الدخول. راجع وثائق الوكيل والتزويد التلقائي في ownCloud 8.2 قبل تفعيل الوصول للكتابة أو تغيير تعيينات الهوية.

تحقق من عملية تسجيل الدخول بالكامل

افتح oCIS في نافذة متصفح خاصة وسجّل الدخول. ستصل إلى نطاق Keycloak، وتُجري عملية المصادقة، ثم تعود إلى نفس مضيف oCIS الخاص بالحساب المُتوقع. اختبر حسابًا موجودًا أولًا. إذا كانت خاصية التزويد مُفعّلة، فاختبر مستخدمًا جديدًا مُعتمدًا وتأكد من إنشائه مرة واحدة بالاسم المُراد. سجّل الخروج وكرّر عملية تسجيل الدخول.

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

لاكتشاف المستخدمين على أجهزة سطح المكتب أو الأجهزة المحمولة، افتح الرابط https://cloud.example.com/.well-known/openid-configuration؛ يجب أن تكشف إعادة الكتابة معلومات موفر Keycloak. تشير حلقة تسجيل الدخول إلى عدم تطابق مضيف إعادة التوجيه أو المخطط. يشير رفض المستخدم بعد تسجيل دخول ناجح إلى وجود مطالبة مفقودة أو عدم تطابق بين [المعلومات المفقودة] PROXY_USER_OIDC_CLAIMو[ المعلومات غير المفقودة PROXY_USER_CS3_CLAIM].

اترك تعليقاً

قم بمسح تحذير ملف .htaccess الخاص بـ ownCloud Apache بأمان

قم بمسح تحذير ملف .htaccess الخاص بـ ownCloud Apache بأمان

قم بتعيين AllowOverride All فقط لجذر الويب الخاص بـ ownCloud، وتحقق من صحة المضيف الظاهري النشط لـ Apache، وأعد التحميل بأمان لاستعادة قواعد .htaccess.

قم بإعداد خدمة التدقيق المؤسسي في ownCloud وتحقق من السجلات

قم بتمكين تطبيق التدقيق المؤسسي الخاص بـ ownCloud، وقم بتوجيه أحداث admin_audit إلى ملف سجل محمي، وتأكد من تسجيل إجراءات المستخدم الحقيقية.

قم بربط ownCloud Infinite Scale بـ Keycloak باستخدام OIDC

قم بربط ownCloud Infinite Scale بـ Keycloak باستخدام OIDC

قم بمواءمة مُصدر نطاق Keycloak وعميل الويب ومطالبات المستخدم للسماح لـ ownCloud Infinite Scale بتسجيل دخول المستخدمين بشكل موثوق عبر عملاء الويب والهواتف المحمولة.

نقل ملفات ownCloud إلى مالك جديد دون فقدان المشاركات

انقل الملفات المملوكة والمشتركات الصادرة باستخدام أمر occ الخاص بـ ownCloud، وافهم ما يبقى، وتحقق من الوصول قبل حذف الحساب القديم.

تسريع استعلامات ownCloud 10 من خلال إدارة الفهارس بأمان

تعرف على متى تحتاج فهارس قاعدة بيانات ownCloud 10 إلى الاهتمام، وكيفية تطبيق تحديثات المخطط المدعومة بأمان، ومتى يكون ضبط الاستعلام أو تغيير قاعدة البيانات هو الحل الأفضل.

قم بتثبيت مشاركة SMB/CIFS في ownCloud بدون تثبيت Linux

قم بتوصيل مشاركة شبكة Windows أو Samba بـ ownCloud من خلال وحدة تخزين خارجية، وتحقق من بيانات الاعتماد، وقم باستكشاف أخطاء المجلدات التي لا يمكن الوصول إليها وإصلاحها بأمان.

حذف إصدارات ملفات ownCloud بأمان باستخدام أمر occ

حذف إصدارات ملفات ownCloud بأمان باستخدام أمر occ

قم بإزالة كل إصدار ملف مخزن من ownCloud Server Classic لحساب واحد أو لجميع المستخدمين، وقم بالتمييز بين عملية التطهير الكاملة وانتهاء الصلاحية المستندة إلى الاحتفاظ.

هل تم رفض اتصال ownCloud عبر الجوال؟ تحقق من عنوان URL وإمكانية الوصول.

هل تم رفض اتصال ownCloud عبر الجوال؟ تحقق من عنوان URL وإمكانية الوصول.

تتبع رفض اتصال ownCloud عبر الهاتف المحمول عن طريق التحقق من عنوان URL للخادم وشبكة الهاتف ونقطة نهاية HTTPS وسجلات الخادم بالترتيب الصحيح.

تشغيل مهام ownCloud في الخلفية بشكل موثوق باستخدام مؤقت Systemd

استبدل عمليات تشغيل الوظائف عند الطلب بمؤقت systemd الذي يقوم بتشغيل أمر occ system:cron المدعوم من ownCloud كل 15 دقيقة.

استعادة مزامنة WebDAV الخاصة بـ ownCloud عن طريق إيجاد المسار المعطل

تتبع طلب WebDAV من خلال Apache أو Nginx أو وكيل عكسي، ثم تأكد من أن مزامنة ownCloud تعمل مع اختبار PROPFIND مصادق عليه.