Credentials وOAuth في n8n للمبتدئين: ربط الحسابات وواجهات API بأمان خطوة بخطوة

عندما تبدأ باستخدام n8n ستصل سريعًا إلى نقطة تحتاج فيها إلى ربط Workflow بخدمة خارجية: Gmail أو Google Sheets أو Telegram أو أي API. هنا تظهر كلمتان تتكرران باستمرار: Credentials وOAuth. فهمهما ليس تفصيلًا تقنيًا ثانويًا؛ بل هو الأساس الذي يسمح لـ n8n بالاتصال بالخدمات دون وضع كلمات المرور أو المفاتيح الحساسة داخل كل خطوة.

شرح Credentials وOAuth في n8n وربط الخدمات بأمان
إعداد الاتصال الصحيح هو الخطوة الأولى قبل بناء أي Workflow يعتمد على خدمة خارجية.

ما هي Credentials في n8n؟

Credentials هي بيانات الاعتماد التي يحتفظ بها n8n ليتمكن Node معينة من الاتصال بخدمة أخرى. قد تكون API Key أو Access Token أو اسم مستخدم وكلمة مرور أو اتصال OAuth2. بدل إدخال السر في كل Workflow، تنشئ Credential مرة واحدة ثم تختارها داخل العقدة المناسبة.

هذا يفصل بين منطق الأتمتة وبين بيانات الوصول. ويمكنك مثلًا بناء Workflow يقرأ صفوفًا من Google Sheets ثم يرسل رسالة عبر Gmail، بينما تكون بيانات اعتماد كل خدمة محفوظة بصورة مستقلة.

ما الفرق بين API Key وOAuth؟

API Key مفتاح تمنحه لك الخدمة وتضعه عادة في Header أو حقل مخصص. وهو مناسب لخدمات كثيرة وواجهات API بسيطة. أما OAuth فهو آلية تفويض تسمح لك بمنح n8n صلاحيات محددة على حسابك دون تسليمه كلمة مرور الحساب نفسها.

عند الضغط على “Sign in with Google” ومنح تطبيق صلاحية الوصول إلى خدمة محددة، فأنت غالبًا تستخدم OAuth. الخدمة تعيد رموز وصول يمكن لـ n8n استخدامها وتجديدها وفق الإعدادات والصلاحيات.

متى أستخدم كل نوع؟

  • OAuth2: عندما تدعمه الخدمة ويكون الاتصال مرتبطًا بحساب مستخدم، مثل كثير من خدمات Google.
  • API Key: عندما توفر الخدمة مفتاحًا مباشرًا للاستخدام البرمجي.
  • Bearer Token: عندما تتطلب الـAPI رمز وصول في Authorization Header.
  • Basic Auth: فقط عندما تكون الخدمة مصممة لذلك، مع استخدام HTTPS وعدم كشف البيانات داخل المحتوى أو السجلات.

الخطوات العامة لإنشاء Credential في n8n

  1. افتح الـNode التي تريد ربطها بالخدمة.
  2. اختر نوع Credential الذي تطلبه العقدة.
  3. أنشئ Credential جديدة بدل كتابة البيانات الحساسة داخل حقول عشوائية في الـWorkflow.
  4. أدخل Client ID وClient Secret أو API Key حسب نوع الاتصال.
  5. إذا كان الاتصال OAuth، أكمل شاشة التفويض لدى مزود الخدمة.
  6. احفظ الاتصال ثم اختبر الـNode بعملية قراءة بسيطة قبل بناء بقية الـWorkflow.

مثال عملي: Google Sheets وGmail

إذا كان هدفك قراءة بيانات العملاء من Sheet ثم إرسال رسالة تلقائية، ابدأ بإعداد اتصال Google الصحيح أولًا. بعد نجاحه يمكنك تطبيق الدليل العملي الخاص بـ ربط Google Sheets مع n8n، ثم الانتقال إلى ربط Gmail مع n8n.

مثال عملي: API لا تملك Node مخصصة

عدم وجود Node جاهزة لا يعني أن الربط مستحيل. يمكنك استخدام HTTP Request في n8n. اقرأ توثيق الـAPI وحدد طريقة المصادقة، ثم خزّن المفتاح أو الرمز داخل Credential مناسبة بدل كتابته مباشرة في الـURL أو في Code Node.

لماذا يفشل OAuth أحيانًا؟

1. Redirect URL غير صحيح

مزود الخدمة يقارن عنوان الرجوع المسجل بالعنوان الذي يرسله n8n. اختلاف بسيط في البروتوكول أو النطاق أو المسار قد يوقف التفويض. انسخ Callback/Redirect URL من n8n كما هو إلى إعدادات التطبيق لدى المزود.

2. Client ID أو Client Secret غير صحيح

تأكد أنك تستخدم بيانات التطبيق الصحيح والبيئة الصحيحة. لا تنسخ مسافات إضافية، ولا تضع Secret في حقل Client ID أو العكس.

3. الصلاحيات Scopes غير كافية

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

4. التطبيق ما زال في وضع الاختبار

بعض مزودي OAuth يقيدون المستخدمين المسموح لهم أثناء مرحلة الاختبار. إذا ظهر رفض لحساب معين، راجع حالة التطبيق وقائمة Test Users وسياسة المزود.

5. اختلاف عنوان n8n الخارجي

في الاستضافة الذاتية، إعداد النطاق وHTTPS والـproxy يؤثر في Callback URL. إذا كان n8n يرى عنوانًا داخليًا بينما المستخدم يصل عبر نطاق خارجي، قد تفشل عملية OAuth. هذه النقطة مهمة عند اختيار n8n Cloud أو Self-Hosted.

قواعد أمان مهمة

  • لا تضع API Keys أو Tokens داخل المقالات، لقطات الشاشة، GitHub أو الرسائل العامة.
  • لا تكتب الأسرار مباشرة داخل Code Node إذا كان بالإمكان استخدام Credential.
  • استخدم أقل Scope يحقق المهمة.
  • أنشئ مفاتيح منفصلة للبيئات أو المشاريع المهمة عندما تسمح الخدمة بذلك.
  • ألغِ المفتاح أو الرمز فور الاشتباه بتسريبه، ثم أنشئ بديلًا.
  • راجع صلاحيات الحسابات والتطبيقات دوريًا واحذف الاتصالات غير المستخدمة.
  • لا تشارك Export للـWorkflow قبل التأكد من عدم احتوائه على أسرار أو بيانات حساسة.

كيف تختبر الاتصال دون إرباك الـWorkflow؟

اختبر أبسط عملية ممكنة أولًا: قراءة صف واحد، جلب قائمة صغيرة أو إرسال رسالة اختبار إلى حسابك. بعد نجاح المصادقة، أضف المنطق والشروط. إذا كنت تحتاج إلى توجيه البيانات حسب نتيجة معينة، استخدم دليل IF وSwitch في n8n. وإذا فشل التنفيذ بعد نجاح الاتصال، راجع دليل التعامل مع أخطاء n8n.

Checklist قبل تشغيل الاتصال في الإنتاج

  • هل Credential تعمل باختبار بسيط؟
  • هل الصلاحيات أقل ما يمكن؟
  • هل الاتصال يستخدم HTTPS؟
  • هل الأسرار خارج محتوى الـWorkflow المرئي؟
  • هل لديك طريقة لإلغاء المفتاح أو تدويره عند التسريب؟
  • هل تعاملت مع انتهاء Token أو أخطاء 401 و403؟
  • هل Workflow لديها مسار واضح للأخطاء بدل الفشل الصامت؟

أسئلة شائعة

هل يحفظ n8n كلمة مرور حساب Google؟

في اتصال OAuth المعتاد لا يحتاج n8n إلى تخزين كلمة مرور Google نفسها؛ التفويض يعتمد على رموز وصول يمنحها مزود الخدمة وفق الصلاحيات التي وافقت عليها.

هل API Key وAccess Token الشيء نفسه؟

لا. كلاهما قد يستخدم للمصادقة، لكن طريقة الإصدار والصلاحيات والعمر تختلف حسب الخدمة. اتبع توثيق الـAPI ولا تفترض أن الحقول قابلة للاستبدال.

هل يمكن استخدام Credential واحدة في أكثر من Workflow؟

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

ماذا أفعل عند ظهور 401 أو 403؟

ابدأ بالتمييز بينهما: 401 غالبًا يشير إلى مشكلة مصادقة أو Token، بينما 403 يعني غالبًا أن الهوية معروفة لكن الصلاحية غير كافية أو الوصول محظور. راجع الرمز، Scopes، حساب الخدمة وسياسة الـAPI.

الخلاصة

إتقان Credentials وOAuth يجعل بناء الأتمتة أكثر أمانًا وأسهل في الصيانة. ابدأ باتصال واحد واختبره، ثم ابنِ الـWorkflow حوله. وإذا كنت جديدًا تمامًا على المنصة، ابدأ من دليل n8n للمبتدئين ثم انتقل إلى Google Sheets وGmail وHTTP Request حسب الخدمة التي تريد ربطها.

Scroll to Top