پرش به مطلب اصلی
احراز هویت با LDAP در n8n

احراز هویت با LDAP در n8n

بازارچه ابریخواندن 5 دقیقه

با اتصال n8n به یک دایرکتوری LDAP ورود کاربران به n8n از همان دایرکتوری سازمانی انجام می‌شود و نیازی به ساخت و مدیریت جداگانه حساب کاربری در n8n نیست.

پیش‌نیازها

  • یک سرویس فعال n8n با قابلیت Enterprise مربوط به LDAP و دسترسی owner
  • یک سرور LDAP یا Active Directory در دسترس از شبکه n8n

برخلاف بسیاری از سرویس‌های دیگر، اتصال LDAP در n8n از طریق متغیر محیطی یا تنظیمات کنسول هم‌روش انجام نمی‌شود؛ تمام این تنظیمات مستقیماً از داخل خود n8n در دسترس است.


گام اول: فعال‌سازی LDAP در n8n

  1. با کاربر owner وارد n8n می‌شود.
  2. از مسیر Settings > LDAP، گزینه Enable LDAP Login فعال می‌شود.
  3. اطلاعات اتصال به سرور LDAP، مطابق جدول زیر تکمیل می‌شود:
فیلدتوضیحاتمقدار نمونه
Serverآدرس سرور LDAPldap.example.com
Portپورت اتصال به سرور LDAP389
Connection Securityنوع رمزنگاری اتصال (None، TLS یا STARTTLS)None
Base DNمسیر پایه جست‌وجوی کاربران در دایرکتوریou=people,dc=example,dc=org
فیلدتوضیحاتمقدار نمونه
Binding DNحساب سرویسی که n8n برای اتصال و جست‌وجو در LDAP از آن استفاده می‌کندcn=keycloak-reader,dc=example,dc=org
Binding Passwordرمز عبور همان حساب سرویسی<LDAP_ADMIN_PASSWORD>
User Filterفیلتر اختیاری برای محدود کردن کاربران مجاز به ورود(ObjectClass=user)
  1. در بخش Attribute Mapping همان صفحه، نگاشت صفت‌های کاربر در LDAP مشخص می‌شود:
فیلدتوضیحاتمقدار نمونه
LDAP ID Attributeصفت شناسه یکتای هر کاربر در دایرکتوریuid
Login ID Attributeصفتی که به‌عنوان نام کاربری هنگام ورود استفاده می‌شودuid
Email Attributeصفت نگه‌دارنده ایمیل کاربرmail
First Name Attributeصفت نگه‌دارنده نام کاربرgivenName
Last Name Attributeصفت نگه‌دارنده نام خانوادگی کاربرsn

برای نمونه، کاربرانی با مقادیر زیر در دایرکتوری، بر اساس نگاشت بالا، با همین نام کاربری و نام کامل در n8n شناسایی می‌شوند:

DNuidmailgivenNamesn
uid=alice,ou=people,dc=example,dc=orgalicealice@example.orgAliceDoe
uid=bob,ou=people,dc=example,dc=orgbobbob@example.orgBobSmith
uid=carol,ou=people,dc=example,dc=orgcarolcarol@example.orgCarolJones
  1. با دکمه Test connection، برقراری اتصال بررسی می‌شود.
  2. با دکمه Save connection، تنظیمات ذخیره می‌شود.

گام دوم: همگام‌سازی کاربران

پس از اتصال موفق، کاربران دایرکتوری LDAP در ورود به n8n شناسایی و ساخته می‌شوند و در ورودهای بعدی، اطلاعاتشان به‌روزرسانی می‌شود. برای بررسی فوری، از دکمه Run synchronization استفاده می‌شود و نتیجه آن (شامل تعداد کاربران شناسایی‌شده) در جدول همان صفحه نمایش داده می‌شود:


گام سوم: ورود کاربران با LDAP

پس از همگام‌سازی موفق، کاربران با نام کاربری و رمز عبور دایرکتوری LDAP در صفحه ورود n8n احراز هویت می‌شوند:


عیب‌یابی

خطای 0x31 (Invalid Credentials)

هنگام زدن دکمه Test connection، اگر اتصال به سرور LDAP برقرار شود ولی Bind ناموفق باشد، خطایی حاوی کد 0x31 نمایش داده می‌شود. این کد از سمت خود سرور LDAP برگردانده می‌شود (نه n8n) و به معنای Invalid Credentials است؛ یعنی سرور LDAP، DN یا رمز عبور ارسالی برای Bind را نپذیرفته است.

خطای اتصال (ECONNREFUSED / ETIMEDOUT)

اگر دکمه Test connection خطای اتصال برگرداند (نه خطای LDAP)، مشکل پیش از رسیدن به سرور است. موارد زیر بررسی می‌شوند:

  • درست بودن آدرس سرور و پورت در فیلد Server (پورت پیش‌فرض LDAP: 389، LDAPS: 636)
  • در دسترس بودن سرور LDAP از داخل همان پروژه (سرویس‌های هم‌پروژه با نام سرویس قابل دسترسی هستند)

خطای 0x32 (Insufficient Access Rights)

اگر Bind موفق باشد ولی جست‌وجوی کاربران با خطا مواجه شود، احتمالاً حساب Bind DN مجوز خواندن از آن OU را ندارد. در این حالت باید مطمئن شد که حساب سرویسی استفاده‌شده در فیلد Binding DN به محتوای Users Base DN دسترسی خواندن دارد.

این راهنمایی کاربردی بود؟

با ثبت بازخوردتان در بهبود کیفیت مستندات مشارکت داشته باشید.