العربية
  • management-api
  • api
  • logto
  • machine-to-machine
  • jwt

استخدام واجهة برمجة تطبيقات إدارة Logto: دليل خطوة بخطوة

تعلم كيفية استخدام واجهة برمجة تطبيقات إدارة Logto لتطبيقك في سيناريوهات مختلفة.

Gao
Gao
Founder

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

نظرة عامة

قد تلاحظ وجود مورد واجهة برمجة تطبيقات مدمج يسمى "واجهة برمجة تطبيقات إدارة Logto" في وحدة تحكم Logto. سيكون له الدور الرئيسي في هذا الدليل.

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

إليك بعض السيناريوهات النموذجية التي قد ترغب فيها في استخدام واجهة برمجة تطبيقات إدارة Logto:

التكامل المستمر والتسليم المستمر (CI/CD)

تواصل الخدمة

تطبيق صفحة واحدة

خادم ويب يعرض HTML

البنية التحتية

بغض النظر عن السيناريوهات، هناك نمطان يمكنك استخدامهما للوصول إلى واجهة برمجة تطبيقات إدارة Logto.

النمط الأول: الوصول المباشر

في هذا النمط، سيصل عميلك أو خدمتك مباشرة إلى واجهة برمجة تطبيقات إدارة Logto. في Logto، يسمى العميل أو الخدمة "تطبيق تواصل بين الآلات".

مثال على استخدام خدمة الخلفية:

النمط الثاني: الوصول غير المباشر

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

مثال على استخدام تطبيق صفحة واحدة:

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

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

إنشاء تطبيق تواصل بين الآلات

أولاً، تحتاج إلى إنشاء تطبيق تواصل بين الآلات في وحدة تحكم Logto. انتقل إلى علامة تبويب "التطبيقات" واضغط على زر "إنشاء تطبيق". ثم اضغط على "ابدأ البناء" في بطاقة "تطبيق تواصل بين الآلات".

إعداد دور تواصل بين الآلات

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

الآن يمكنك رؤية ظهور "واجهة برمجة تطبيقات إدارة Logto" في قسم "تعيين الأذونات". ضع علامة على مورد واجهة برمجة التطبيقات لجميع الأذونات، واضغط على زر "إنشاء دور".

بمجرد إنشاء الدور، يمكنك تعيينه لتطبيق التواصل بين الآلات الذي قمت بإنشائه في الخطوة السابقة.

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

يمكنك متابعة الخطوات في هذه المقالة للحصول على رمز وصول عبر منحة بيانات اعتماد العميل لتطبيق التواصل بين الآلات الخاص بك. اختبر رمز الوصول عن طريق إرسال طلب إلى نقطة نهاية في واجهة برمجة تطبيقات إدارة Logto.

الآن أنت جاهز للنمط 1. لاحظ أن رمز الوصول صالح لفترة قصيرة، لذا قد ترغب في تحديثه دوريًا إذا كنت ترغب في حفظه مؤقتًا.

إضافة طبقة أخرى

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

على سبيل المثال، أنت تبني مجتمعًا عبر الإنترنت بتطبيق صفحة واحدة وخدمة خلفية. قد ترغب في وجود ميزة تسمح للمستخدمين المسجلين برؤية أفضل 10 مستخدمين لديهم أكبر عدد من المتابعين. سيتم إنشاء نقطة نهاية GET /api/top-users:

لضمان أن تكون النقطة النهائية قابلة للوصول فقط للمستخدمين المسجلين، يمكنك إنشاء "تطبيق صفحة واحدة" في وحدة تحكم Logto، و دمج Logto SDK في هذا التطبيق. ثم يمكنك استخدام SDK للحصول على رمز الوصول وإرسال الطلب إلى النقطة النهائية:

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

أخيرًا، يمكنك إرجاع الاستجابة إلى تطبيق الصفحة الواحدة:

مخطط ترتيب كامل:

في هذا التدفق، هناك نوعان من رموز الوصول: واحد لخدمة الخلفية للوصول إلى واجهة برمجة تطبيقات إدارة Logto، والآخر لتطبيق الصفحة الواحدة للوصول إلى خدمة الخلفية.

رمز الوصول الأول هو الذي حصلت عليه في القسم السابق. رمز الوصول الثاني هو الذي يمكنك الحصول عليه من Logto SDK.

رمز الوصول الخاص بي في تطبيق الصفحة الواحدة ليس رمز ويب JSON (JWT)

إذا لم تحدد المورد عند استدعاء طريقة getAccessToken في Logto SDKs، سيكون رمز الوصول سلسلة غامضة مخصصة للاستخدام في نقطة النهاية userinfo. للحصول على JWT:

  1. تعريف مورد واجهة برمجة التطبيقات في وحدة تحكم Logto، على سبيل المثال https://api.example.com.
  2. إضافة مورد واجهة برمجة التطبيقات إلى تكوين resources في Logto SDK, مثال resources: ['https://api.example.com'].
  3. استدعاء طريقة getAccessToken مع مورد واجهة برمجة التطبيقات، مثلاً getAccessToken('https://api.example.com').

للتحقق من صحة JWT في خدمة الخلفية الخاصة بك، يرجى الرجوع إلى تحقق من رمز تفويض الطلب الخاص بواجهة برمجة التطبيقات.

ماذا يعني JWT في تطبيق الصفحة الواحدة؟

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

إذا كنت بحاجة إلى تحكم أكثر دقة في الوصول، يمكنك أيضًا تطبيق تحكم الوصول المستند إلى الأدوار (RBAC) على المستخدم. راجع 🔐 التحكم في الوصول المستند إلى الأدوار (RBAC) لمزيد من التفاصيل.

ملاحظات الختام

تعد واجهة برمجة تطبيقات إدارة Logto قوية ومرنة لسيناريوهات متعددة. بمساعدة البروتوكولات القياسية، يمكنك دمج واجهة برمجة تطبيقات إدارة Logto بسهولة في تطبيقك وبناء نظام آمن وقابل للتوسعة. إذا كان لديك أي أسئلة، فلا تتردد في الاتصال بنا.