العربية
  • Logto
  • Cloudflare Workers
  • Workers
  • authorization
  • authentication
  • SaaS
  • tenant
  • serverless

Logto x Cloudflare Workers: كيف تحمي عمال Cloudflare من الوصول العام؟

في هذه المقالة، قدمنا كيفية تأمين واجهات برمجة التطبيقات الخاصة بـ Cloudflare Workers باستخدام Logto. استخدمنا Hono كإطار عمل لتطبيقات الويب لتسهيل التطوير.

Darcy Ye
Darcy Ye
Developer

Cloudflare Workers (سيشار إليها بالعمال في المحتوى التالي) يوفر بيئة تنفيذ بدون خادم تتيح لك إنشاء تطبيقات جديدة أو تحسين التطبيقات الحالية دون الحاجة إلى تكوين أو الحفاظ على البنية التحتية.

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

العمال هم متاحون بشكل عام افتراضيًا، مما يستلزم اتخاذ تدابير للحماية لمنع الهجمات وسوء الاستخدام. يوفر Logto خدمة هوية شاملة وسهلة الاستخدام وقابلة للتوسع التي يمكن أن تحمي العمال وجميع الخدمات الويب الأخرى.

تتناول هذه المقالة عملية تأمين عمالك باستخدام Logto.

بناء مشروع عمال عينة

لنقم أولاً ببناء مشروع عمال عينة باستخدام Hono على جهاز محلي.

نستخدم واجهة سطر الأوامر Wrangler لنشر العينة على Cloudflare، مما يمكننا من الوصول إلى المسار.

نشر العينة

حماية واجهات برمجة تطبيقات العمال

من أجل مقارنة واجهات برمجة التطبيقات المتاحة عامًا وواجهات محمية، نضيف واجهة GET /auth/greet API التي تتطلب نطاقات محددة للوصول.

لا يمكننا الوصول إلى واجهة برمجة التطبيقات المقابلة دون إذن مناسب.

طلب مصادقة تحية

من أجل إدارة الوصول إلى واجهات برمجة تطبيقات العمال بشكل صحيح، نقدم Logto.

إعداد Logto

قم بتسجيل حساب إذا لم يكن لديك واحد.

نستخدم آلة إلى آلة (M2M) كمثال للوصول إلى واجهات برمجة التطبيقات المحمية للعمال لأنه أمر بسيط. إذا كنت ترغب في منح الوصول إلى مستخدمي تطبيق الويب الخاص بك، فإن الإعداد مشابه جدًا، ولكن يجب عليك استخدام دور "المستخدم" بدلاً من دور "آلة إلى آلة".

  1. ادخل إلى Logto Admin Console وانتقل إلى علامة تبويب “API resource”، أنشئ مورد API باسم “Workers sample API” مع مؤشر الموارد ليكون https://sample.workers.dev/ . كما أنشئ إذن greet:visitor لهذا المورد API.

إنشاء مورد واجهة برمجة تطبيقات عينة للعمال

  1. أنشئ “دور مسؤول العمال”، وهو دور “آلة إلى آلة”، وخصص نطاق greet:visitor لهذا الدور.

إنشاء دور M2M

  1. أنشئ تطبيق M2M وخصص دور “مسؤول العمال” للتطبيق.

إنشاء تطبيق M2M

تحديث مصدق مصادقة العمال

نظرًا لأن Logto يستخدم رمز JSON Web Token (JWT) لرمز الوصول تحت السطح، فإننا بحاجة إلى تنفيذ منطق تحقق JWT في العمال.

نظرًا لأن رمز الوصول JWT يُصدر بواسطة Logto، نحن بحاجة إلى:

  1. الحصول على المفتاح العمومي المقابل للتحقق من التوقيع.
  2. التحقق من مستهلك رمز الوصول JWT ليكون واجهات برمجة تطبيقات العمال.

يمكن تكوين هذه الثوابت في ملف wrangler.toml [1] وسيتم نشرها كمتغيرات بيئة العمال. يمكنك أيضًا إدارة متغيرات البيئة يدويًا على لوحة تحكم Cloudflare.

بعد نشر مشروع العمال على Cloudflare، يمكننا اختبار ما إذا كانت واجهات برمجة التطبيقات محمية بنجاح.

  1. الحصول على رمز الوصول

الحصول على رمز الوصول

فحص JWT

  1. طلب واجهة برمجة تطبيقات العمال GET /auth/greet

الوصول إلى واجهة برمجة التطبيقات المصدقة

الخاتمة

مع الدليل خطوة بخطوة في هذه المقالة، يجب أن تكون قادرًا على استخدام Logto لبناء حماية لواجهات برمجة التطبيقات الخاصة بك للعمال.

في هذه المقالة، استخدمنا واجهة سطر الأوامر Wrangler للتطوير المحلي ونشر مشاريع العمال. بالإضافة إلى ذلك، تقدم Cloudflare واجهات برمجة تطبيقات العمال القوية والمتنوعة لتسهيل النشر والإدارة.

اعتبر تطوير تطبيق SaaS. تمكنك واجهة برمجة تطبيقات Cloudflare من نشر عمال مخصصين لكل مستأجر بسهولة، في الوقت الذي يضمن فيه Logto أن تبقى رموز الوصول حصرية للمستأجرين المعنيين. هذا التحكم الدقيق يمنع الوصول غير المصرح به عبر المستأجرين، مما يعزز الأمان والخصوصية للبيانات لمستخدمي تطبيق SaaS الخاص بك.

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