مشاركة عبر


مدخل مطور APIM - الأسئلة المتداولة

ينطبق على: المطور | أساسي | الإصدار 2 الأساسي | قياسي | الإصدار 2 القياسي | Premium | Premium v2

ماذا لو احتجت إلى وظائف غير مدعومة في المدخل؟

لديك الخيارات التالية:

  • للتخصيصات الصغيرة، استخدم عنصر واجهة مستخدم مُضمّن لإضافة HTML مخصص. حاليا، عنصر واجهة مستخدم التعليمات البرمجية ل HTML المخصص غير متوفر في مستويات v2 لإدارة واجهة برمجة التطبيقات.

  • للتخصيصات الأكبر، قم بإنشاء وتحميل عنصر واجهة مستخدم مخصص إلى مدخل المطور المدار. حاليا، لا تتوفر عناصر واجهة المستخدم المخصصة في مستويات v2 لإدارة واجهة برمجة التطبيقات.

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

  • افتح طلب الميزة في مستودع GitHub.

تعرّف على المزيد حول تخصيص وتوسيع وظائف مدخل المطور.

هل يمكنني الحصول على مدلخل مطورين متعددة في خدمة APIM واحدة؟

يمكن الحصول على مدخل واحد مُدار ومداخل متعددة ذاتية الاستضافة. يتم تخزين محتوى جميع المداخل في نفس خدمة APIM، لذلك ستكون متطابقة. إذا كنت ترغب في التمييز بين مظهر ووظائف المداخل، فيمكنك استضافتها ذاتيًا باستخدام عناصر واجهة المستخدم المخصصة والتي تقوم بتخصيص الصفحات ديناميكيًا في وقت التشغيل، على سبيل المثال استنادًا إلى عنوان URL.

هل يدعم المدخل قوالب Azure Resource Manager و / أو هل يتوافق مع API Management DevOps Resource Kit؟

‏‏لا.

هل محتوى المدخل يتم حفظه بوظيفة النسخ الاحتياطي / الاستعادة في APIM؟

‏‏لا.

هل أحتاج إلى تمكين اتصال VNet الإضافي لتبعيات المدخل المُدار؟

في معظم الحالات، لا.

إذا كانت خدمة APIM توجد في شبكة VNet داخلية، فلا يمكن الوصول إلى مدخل المطورين إلا من داخل الشبكة. يجب أن يتحول اسم مضيف نقطة نهاية الإدارة إلى VIP الداخلي للخدمة من الجهاز الذي تستخدمه للوصول إلى الواجهة الإدارية للمدخل. تأكد من تسجيل نقطة نهاية الإدارة في DNS. في حالة التكوين الخاطئ، سترى خطأ: Unable to start the portal. See if settings are specified correctly in the configuration (...).

إذا كانت خدمة APIM موجودة في شبكة VNet داخلية وكنت تقوم بالوصول إليها من خلال بوابة التطبيقات من الإنترنت ، فتأكد من تمكين الاتصال بمدخل المطور ونقاط نهاية إدارة APIM. قد تحتاج إلى تعطيل قواعد جدار حماية تطبيق الويب. راجع مقالة الوثائق هذه لمزيد من التفاصيل.

لقد قمت بتعيين مجال APIM مخصص ولم تعمل المدخل المنشور

بعد تحديث المجال، تحتاج إلى إعادة نشر المدخل حتى تدخل التغييرات حيز التنفيذ.

أضفت موفر هوية ولا يمكنني رؤيته في المدخل

بعد تكوين موفر الهوية (على سبيل المثال، Azure AD وAzure AD B2C)، تحتاج إلى إعادة نشر المدخل لتصبح التغييرات في حيز التنفيذ. تأكد من أن صفحات مدخل المطورين تشتمل على أداة أزرار OAuth.

أقوم بإعداد التفويض ولا يستخدمه المدخل

بعد إعداد التفويض، تحتاج إلى إعادة نشر المدخل حتى تصبح التغييرات في حيز التنفيذ.

لم يتم نشر تغييرات تكوين APIM الأخرى لدي في مدخل المطور

تتطلب معظم تغييرات التكوين (على سبيل المثال، VNet وتسجيل الدخول وشروط المنتج) إعادة نشر المدخل.

أتلقى خطأ CORS عند استخدام وحدة التحكم التفاعلية

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

أتلقى خطأ CORS عند استخدام عنصر واجهة مستخدم تعليمات HTML البرمجية المخصصة

عند استخدام عنصر واجهة مستخدم تعليمات HTML البرمجية المخصصة في بيئتك، قد ترى خطأ CORS عند التفاعل مع IFrame الذي تم تحميله بواسطة عنصر واجهة المستخدم. تحدث هذه المشكلة لأن IFrame يتم تقديم محتوى من أصل مختلف عن مدخل المطور. لتجنب هذه المشكلة، يمكنك استخدام عنصر واجهة مستخدم مخصص بدلا من ذلك.

ما الأذونات التي أحتاج إليها لتحرير مدخل المطور؟

إذا كنت ترى الخطأ Oops. Something went wrong. Please try again later. عند فتح المدخل في الوضع الإداري، فقد تفتقر إلى الأذونات المطلوبة (Azure RBAC).

يتطلب المدخل الإذن Microsoft.ApiManagement/service/users/token/action في النطاق /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<apim-service-name>/users/1.

يمكنك استخدام برنامج PowerShell النصي التالي لإنشاء دور بالإذن المطلوب. تذكر تغيير المعلمة <subscription-id>.

#New Portals Admin Role 
Import-Module Az 
Connect-AzAccount 
$contributorRole = Get-AzRoleDefinition "API Management Service Contributor" 
$customRole = $contributorRole 
$customRole.Id = $null
$customRole.Name = "APIM New Portal Admin" 
$customRole.Description = "This role gives the user ability to log in to the new Developer portal as administrator" 
$customRole.Actions = "Microsoft.ApiManagement/service/users/token/action" 
$customRole.IsCustom = $true 
$customRole.AssignableScopes.Clear() 
$customRole.AssignableScopes.Add('/subscriptions/<subscription-id>') 
New-AzRoleDefinition -Role $customRole 

بمجرد إنشاء الدور، يمكن منحه لأي مستخدم من القسم Access Control (IAM) في مدخل Microsoft Azure. سيؤدي تعيين هذا الدور إلى مستخدم إلى تعيين الإذن في نطاق الخدمة. سيتمكن المستخدم من إنشاء رموز SAS نيابة عن أي مستخدم في الخدمة. وكحد أدنى، يجب تعيين هذا الدور إلى مسؤول الخدمة. يوضح الأمر PowerShell التالي كيفية تعيين الدور للمستخدم user1 في أدنى نطاق لتجنب منح أذونات غير ضرورية للمستخدم:

New-AzRoleAssignment -SignInName "user1@contoso.com" -RoleDefinitionName "APIM New Portal Admin" -Scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<apim-service-name>/users/1" 

بعد منح الأذونات للمستخدم، يجب على المستخدم تسجيل الخروج وتسجيل الدخول مرة أخرى إلى مدخل Microsoft Azure حتى تصبح الأذونات الجديدة في حيز النفاذ.

أنا أرى الخطأ Unable to start the portal. See if settings are specified correctly (...)

يظهر هذا الخطأ عند فشل استدعاء GET لـ https://<management-endpoint-hostname>/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.ApiManagement/service/xxx/contentTypes/document/contentItems/configuration?api-version=2018-06-01-preview. يتم إصدار الاستدعاء من المتصفح من خلال الواجهة الإدارية للمدخل.

إذا كانت خدمة APIM موجودة في شبكة VNet، فارجع إلى سؤال اتصال VNet.

قد يكون سبب فشل المكالمة أيضا شهادة TLS/SSL، التي تم تعيينها إلى مجال مخصص وغير موثوق بها من قبل المستعرض. تخفيف، يمكنك إزالة مجال الإدارة المخصص لنقطة النهاية. ستعود إدارة API إلى نقطة النهاية الافتراضية بشهادة موثوقة.

ما هو دعم المتصفح للمدخل؟

المستعرض مدعوم
Apple Safari نعم1
Google Chrome نعم1
Microsoft Edge نعم1
Microsoft Internet Explorer لا
Mozilla Firefox نعم1

1 مدعوم في أحدث إصدارين من الإنتاج.

لم يعد التطوير المحلي للمدخل المستضاف ذاتيًا يعمل

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

كيف يمكنني تعطيل التسجيل في مدخل المطور؟

إذا لم تكن بحاجة إلى تمكين وظيفة التسجيل افتراضيًا في مدخل المطورين، فيمكنك تعطيلها باتباع الخطوات التالية:

  1. في مدخل Azure، انتقل إلى مثيل API Management.

  2. ضمن Developer portal في القائمة، حدد Identities.

  3. احذف كل موفر هوية يظهر في القائمة. حدد كل موفر، وحدد قائمة السياق (...) ، وحدد Delete.

    حذف موفري الهوية

  4. انتقل إلى واجهة إدارة مدخل المطور.

  5. أزل ارتباطات Sign up وعناصر التنقل في محتوى المدخل. للحصول على معلومات حول تخصيص محتوى المدخل، راجع البرنامج التعليمي: الوصول إلى مدخل المطور وتخصيصه.

  6. قم بتعديل محتوى صفحة Sign up لإزالة الحقول المستخدمة لإدخال بيانات الهوية، في حالة انتقال المستخدمين إليها مباشرة.

    بشكل اختياري، احذف الصفحة Sign up. حاليا، يمكنك استخدام واجهات برمجة التطبيقات REST ContentItem لسرد وحذف هذه الصفحة.

  7. احفظ التغييرات، ثم أعد نشر المدخل.

كيف يمكنني إزالة محتوى مدخل المطور المقدم لخدمة APIM؟

قم بتوفير المعلمات المطلوبة في النص البرمجي scripts.v3/cleanup.bat لمدخل المطورين في مستودع GitHub، وقم بتشغيل البرنامج النصي

cd scripts.v3
.\cleanup.bat
cd ..

كيف يمكنني تمكين مصادقة تسجيل الدخول الأحادي (SSO) لمدخل المطورين المستضافة ذاتيًا؟

من بين طرق المصادقة الأخرى، يدعم مدخل المطور تسجيل الدخول الأحادي (SSO). وللمصادقة باستخدام هذه الطريقة، تحتاج إلى إجراء استدعاء /signin-sso باستخدام الرمز المميز في معلمة الاستعلام:

https://contoso.com/signin-sso?token=[user-specific token]

إنشاء رموز مميزة للمستخدم

يمكنك إنشاء رموز مميزة خاصة بالمستخدم (بما في ذلك الرموز المميزة للمسؤول) باستخدام عملية الحصول على رمز الوصول المشترك لـ API Management REST API.

إشعار

يجب أن يكون الرمز المميز مشفرًا بعنوان URL.

تعرف على المزيد حول مدخل المطور:

استعراض الموارد الأخرى: