مرحبا بالجميع، نحن نستضيف مثيل n8n الخاص بنا (خطة الأعمال) على Azure ونواجه بعض المشاكل في تكوين SSO SAML
صف المشكلة/الخطأ/السؤال
حاولنا إعداد SSO SAML باستخدام Azure EntraID باتباع هذا الدليل: Set up SAML | Administer | n8n Docs وهذا الدليل: Set up Azure AD SAML | Administer | n8n Docs .
قمنا بإعداد المطالبات كما هو موضح في الأدلة.
ما هي رسالة الخطأ (إن وجدت)؟
عند النقر على زر “اختبار الاتصال” بعد تكوين SSO SAML على لوحة التحكم الخاصة بي في n8n، يتم إعادة توجيهي إلى صفحة تعرض خطأ وتعرض هذه الرسالة:
“فشل المصادقة SAML. استجابة SAML غير صالحة (السمات المفقودة: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/firstname, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/lastname).”
معلومات حول إعداد n8n الخاص بك
- إصدار n8n: 2.28.3
- قاعدة البيانات (افتراضي: SQLite): PostgresQL
- إعداد n8n EXECUTIONS_PROCESS (افتراضي: own, main): main
- تشغيل n8n عبر (Docker, npm, n8n cloud, تطبيق سطح المكتب): Docker
- نظام التشغيل: Linux
مرحبا! هذه مشكلة كلاسيكية في تعيين مطالبات SAML في Azure، و n8n يتوقع سمات firstname و lastname لكنها لا تأتي عبر استجابة SAML.
في تطبيق Azure Entra ID الخاص بك، انتقل إلى Single sign-on → Attributes & Claims وتأكد من إضافة هذين الاثنين بشكل صريح:
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/firstname → معين إلى user.givenname
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/lastname → معين إلى user.surname
إعداد مطالبات Azure الافتراضي غالبا ما يتخطى هذه أو يستخدم أسماء سمات مختلفة، وهذا بالضبط ما يسبب عدم التطابق.
بعد الحفظ، اختبر الاتصال مرة أخرى وسيجب أن ينجح. أخبرنا إذا كنت لا تزال ترى الخطأ!
مرحباً @Vincent67 أهلاً وسهلاً!
هذا الخطأ يعني أن التأكيد يصل إلى n8n، لكن هذين المطالبين يصلان تحت اسم مختلف عن معرّف URI الدقيق الذي يتوقعه n8n. في Entra، نوع المطالبة المُصدرة هو Namespace + Name، مُعيّن في صندوقين منفصلين، لذلك النوع الكامل يصبح فقط http://schemas.xmlsoap.org/ws/2005/05/identity/claims/firstname عندما يتم تكوين المطالبة كـ:
Name: firstname
Namespace: http://schemas.xmlsoap.org/ws/2005/05/identity/claims
إذا تُرك صندوق Namespace فارغاً، فإن Entra يُصدر المطالبة باسم عادي firstname بدون بادئة، و n8n يبلغ عن فقدانها. افتح كل مطالبة تحت Single sign-on > Attributes & Claims، وعيّن Name و Namespace بالضبط كما هو موضح أعلاه (Name lastname للمطالبة الأخرى)، ثم احفظ.
بشكل منفصل، Entra يسقط أي مطالبة تكون خاصية مصدرها فارغة، لذا تأكد من أن مستخدم الاختبار لديه First name و Last name مملوءة في ملفه الشخصي في Entra، وإلا فلن يتم إرسال هذين المطالبتين على الإطلاق.
للتأكد من ما يصل بالفعل، اقرأ التأكيد باستخدام امتداد متصفح SAML Chrome Panel أثناء Test connection.