API Management ontwikkelaarsportal - veelgestelde vragen

Wat moet ik doen als ik functionaliteit nodig heb die niet wordt ondersteund in de portal?

U hebt de volgende opties:

Meer informatie over de extensibility van de ontwikkelaarsportal.

Kan ik meerdere ontwikkelaarsportals in één API Management hebben?

U kunt één beheerde portal en meerdere zelf-hostende portals hebben. De inhoud van alle portals wordt opgeslagen in dezelfde API Management service, zodat ze identiek zijn. Als u het uiterlijk en de functionaliteit van portals wilt onderscheiden, kunt u ze zelf hosten met uw eigen aangepaste widgets die pagina's dynamisch aanpassen tijdens runtime, bijvoorbeeld op basis van de URL.

Ondersteunt de portal Azure Resource Manager sjablonen en/of is deze compatibel met API Management DevOps Resource Kit?

Nee.

Wordt de inhoud van de portal opgeslagen met de back-up-/herstelfunctionaliteit in API Management?

Nee.

Moet ik extra VNet-connectiviteit inschakelen voor de afhankelijkheden van de beheerde portal?

In de meeste gevallen - nee.

Als uw API Management zich in een intern VNet, is uw ontwikkelaarsportal alleen toegankelijk vanuit het netwerk. De hostnaam van het beheerpunt moet worden omgeholpen in het interne VIP van de service vanaf de computer die u gebruikt voor toegang tot de beheerinterface van de portal. Zorg ervoor dat het beheer-eindpunt is geregistreerd in de DNS. In het geval van een onjuiste configuratie ziet u een fout: Unable to start the portal. See if settings are specified correctly in the configuration (...).

Als uw API Management-service zich in een intern VNet en u deze via Application Gateway via internet gebruikt, moet u connectiviteit met de ontwikkelaarsportal en de beheer eindpunten van API Management. Mogelijk moet u de Web Application Firewall uitschakelen. Zie dit documentatieartikel voor meer informatie.

Ik heb een aangepast API Management toegewezen en de gepubliceerde portal werkt niet

Nadat u het domein hebt bijgewerkt, moet u de portal opnieuw publiceren om de wijzigingen door te voeren.

Ik heb een id-provider toegevoegd en ik zie deze niet in de portal

Nadat u een id-provider hebt geconfigureerd (bijvoorbeeld Azure AD, Azure AD B2C), moet u de portal opnieuw publiceren om de wijzigingen door te voeren. Zorg ervoor dat uw ontwikkelaarsportalpagina's de widget OAuth-knoppen bevatten.

Ik stel delegatie in en de portal gebruikt deze niet

Nadat u delegatie hebt ingesteld, moet u de portal opnieuw publiceren om de wijzigingen door te voeren.

Mijn andere API Management configuratiewijzigingen zijn niet doorgegeven in de ontwikkelaarsportal

Voor de meeste configuratiewijzigingen (bijvoorbeeld VNet, aanmelding, productvoorwaarden) moet de portal opnieuw worden gepubliceerd.

Ik krijg een CORS-fout bij het gebruik van de interactieve console

De interactieve console maakt een API-aanvraag aan de clientzijde vanuit de browser. Los het CORS-probleem op door een CORS-beleid toe te voegen aan uw API('s).

U kunt de status van het CORS-beleid controleren in de sectie Portaloverzicht van uw API Management service in de Azure Portal. Een waarschuwingsvak geeft aan dat er geen of onjuist geconfigureerd beleid is.

Notitie

Er wordt slechts één CORS-beleid uitgevoerd. Als u meerdere CORS-beleidsregels hebt opgegeven (bijvoorbeeld op API-niveau en op het niveau van alle API's), werkt uw interactieve console mogelijk niet zoals verwacht.

Screenshot that shows where you can check the status of your CORS policy.

Pas het CORS-beleid automatisch toe door op de knop CORS inschakelen te klikken.

U kunt CORS ook handmatig inschakelen.

  1. Selecteer de koppeling Handmatig toepassen op het globale niveau om de gegenereerde beleidscode weer te geven.
  2. Navigeer naar Alle API's in de sectie API's van API Management service in de Azure Portal.
  3. Selecteer het pictogram /> in de > verwerking.
  4. Voeg het beleid in de binnenkomende sectie> van het XML-bestand in. Zorg ervoor dat de oorspronkelijke> waarde overeenkomt met het domein van uw ontwikkelaarsportal.

Notitie

Als u het CORS-beleid in het productbereik toe passen in plaats van het bereik van de API('s) en uw API gebruikmaakt van verificatie van abonnementssleutels via een header, werkt uw console niet.

De browser geeft automatisch een HTTP-aanvraag OPTIONS uit, die geen header met de abonnementssleutel bevat. Vanwege de ontbrekende abonnementssleutel kan API Management OPTIONS aanroep niet koppelen aan een product, zodat het CORS-beleid niet kan worden toegepast.

Als tijdelijke oplossing kunt u de abonnementssleutel doorgeven in een queryparameter.

Wat is de CORS-proxyfunctie en wanneer moet ik deze gebruiken?

Selecteer de optie CORS-proxy gebruiken in de configuratie van de widget DETAILS API-bewerking om de API-aanroepen van de interactieve console door te sturen via de back-end van de portal in uw API Management service. In deze configuratie hoeft u geen CORS-beleid meer toe te passen voor uw API's en is connectiviteit met het gateway-eindpunt vanaf de lokale computer niet vereist. Als de API's worden blootgesteld via een zelf-hostende gateway of als uw service zich in een virtueel netwerk, is de connectiviteit van de back-API Management-service naar de gateway vereist. Als u de zelf-hostende portal gebruikt, geeft u het back-end-eindpunt backendUrl van de portal op met behulp van de optie in de configuratiebestanden. Anders is de zelf-hostende portal niet op de hoogte van de locatie van de back-endservice.

Welke machtigingen heb ik nodig om de ontwikkelaarsportal te bewerken?

Als u de fout ziet Oops. Something went wrong. Please try again later. wanneer u de portal opent in de beheermodus, hebt u mogelijk niet de vereiste machtigingen (Azure RBAC).

De verouderde portals vereist de machtiging voor Microsoft.ApiManagement/service/getssotoken/action het servicebereik (/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<apim-service-name>) om de gebruikersbeheerder toegang te geven tot de portals. De nieuwe portal vereist de machtiging voor Microsoft.ApiManagement/service/users/token/action het bereik /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<apim-service-name>/users/1.

U kunt het volgende PowerShell-script gebruiken om een rol te maken met de vereiste machtiging. Vergeet niet om de parameter te <subscription-id> wijzigen.

#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 

Zodra de rol is gemaakt, kan deze aan elke gebruiker worden verleend vanuit de sectie Access Control (IAM) in de Azure Portal. Als u deze rol toewijst aan een gebruiker, wordt de machtiging toegewezen aan het servicebereik. De gebruiker kan SAS-tokens genereren namens een gebruiker in de service. Deze rol moet minimaal worden toegewezen aan de beheerder van de service. De volgende PowerShell-opdracht laat user1 zien hoe u de rol toewijst aan een gebruiker met het laagste bereik om te voorkomen dat de gebruiker onnodige machtigingen verleent:

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" 

Nadat de machtigingen aan een gebruiker zijn verleend, moet de gebruiker zich af- en opnieuw aanmelden bij de Azure Portal om de nieuwe machtigingen van kracht te laten worden.

Ik zie de fout Unable to start the portal. See if settings are specified correctly (...)

Deze fout wordt weergegeven wanneer een aanroep GET naar mislukt https://<management-endpoint-hostname>/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.ApiManagement/service/xxx/contentTypes/document/contentItems/configuration?api-version=2018-06-01-preview . De aanroep wordt vanuit de browser uitgegeven door de beheerinterface van de portal.

Als uw API Management zich in een VNet, raadpleegt u de vraag over VNet-connectiviteit.

De aanroepfout kan ook worden veroorzaakt door een TLS/SSL-certificaat, dat is toegewezen aan een aangepast domein en niet wordt vertrouwd door de browser. Als oplossing kunt u het aangepaste domein van het beheer-eindpunt verwijderen. API Management wordt terugvallen op het standaard eindpunt met een vertrouwd certificaat.

Wat is de browserondersteuning voor de portal?

Browser Ondersteund
Apple Safari Ja1
Google Chrome Ja1
Microsoft Edge Ja1
Microsoft Internet Explorer No
Mozilla Firefox Ja1

1 Ondersteund in de twee nieuwste productieversies.

Lokale ontwikkeling van mijn zelf-hostende portal werkt niet meer

Als uw lokale versie van de ontwikkelaarsportal geen gegevens kan opslaan of ophalen uit het opslagaccount of API Management-exemplaar, zijn de SAS-tokens mogelijk verlopen. U kunt dit oplossen door nieuwe tokens te genereren. Raadpleeg de zelfstudie voor het zelf hosten van de ontwikkelaarsportal voor instructies.

Hoe kan ik registreren uitschakelen in de ontwikkelaarsportal?

Als u de aanmeldingsfunctionaliteit niet standaard hoeft in te schakelen in de ontwikkelaarsportal, kunt u deze uitschakelen met de volgende stappen:

  1. Blader in het Azure-portaal naar uw API Management-exemplaar.

  2. Selecteer identiteiten onder Ontwikkelaarsportal in het menu.

  3. Verwijder elke id-provider die in de lijst wordt weergegeven. Selecteer elke provider, selecteer het contextmenu (...) en selecteer Verwijderen.

    Delete identity providers

  4. Navigeer naar de beheerinterface van de ontwikkelaarsportal.

  5. Verwijder Aanmeldingskoppelingen en navigatie-items in de inhoud van de portal. Zie Zelfstudie: De ontwikkelaarsportal openen en aanpassen voor meer informatie over het aanpassen van de inhoud van de portal.

    Delete navigation item

  6. Wijzig de inhoud van de pagina Registreren om velden te verwijderen die worden gebruikt om identiteitsgegevens in te voeren, voor het geval gebruikers er rechtstreeks naar navigeren.

    Verwijder eventueel de aanmeldingspagina . Op dit moment gebruikt u de CONTENTItem REST API's om deze pagina weer te geven en te verwijderen.

  7. Sla uw wijzigingen op en publiceren de portal opnieuw.

Hoe kan ik de inhoud van de ontwikkelaarsportal verwijderen die is ingericht voor mijn API Management service?

Geef de vereiste parameters op in het scripts.v3/cleanup.bat script in de ontwikkelaarsportal scripts.v3/cleanup.bat en voer het script uit

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

Hoe kan ik eenmalige aanmelding (SSO) inschakelen voor zelf-hostend ontwikkelaarsportal?

De ontwikkelaarsportal biedt onder andere ondersteuning voor eenmalige aanmelding (SSO). Als u wilt verifiëren met deze methode, moet u een aanroep /signin-sso naar doen met het token in de queryparameter:

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

Gebruikerstokens genereren

U kunt gebruikersspecifieke tokens (inclusief beheerderstokens ) genereren met behulp van de bewerking Token voor gedeelde toegang van de API Management REST API.

Notitie

Het token moet URL-gecodeerd zijn.

Hoe kan ik aangepaste HTML toevoegen aan mijn ontwikkelaarsportal?

De beheerde ontwikkelaarsportal bevat een widget aangepaste HTML-code waarmee u HTML-code kunt invoegen voor kleine portalaanpassingen. Gebruik bijvoorbeeld aangepaste HTML om een video in te voegen of een formulier toe te voegen. De portal geeft de aangepaste widget weer in een inline frame (iframe).

  1. Ga in de beheerinterface voor de ontwikkelaarsportal naar de pagina of sectie waar u de widget wilt invoegen.

  2. Selecteer het grijze pluspictogram (+) dat wordt weergegeven wanneer u de muisaanwijzer over de pagina beweegt.

  3. Selecteer aangepaste HTML-code in het venster Widget toevoegen.

    Add widget for custom HTML code

  4. Selecteer het potloodpictogram om de widget aan te passen.

  5. Voer een Breedte en Hoogte (in pixels) in voor de widget.

  6. Als u stijlen wilt overnemen van de ontwikkelaarsportal (aanbevolen), selecteert u Stijl van ontwikkelaarsportal toepassen.

    Notitie

    Als deze instelling niet is geselecteerd, zijn de ingesloten elementen gewone HTML-besturingselementen, zonder de stijlen van de ontwikkelaarsportal.

    Configure HTML custom code

  7. Vervang de HTML-voorbeeldcode door uw aangepaste inhoud.

  8. Wanneer de configuratie is voltooid, sluit u het venster.

  9. Sla uw wijzigingen op en publiceren de portal opnieuw.

Notitie

Microsoft biedt geen ondersteuning voor de HTML-code die u toevoegt in de widget Aangepaste HTML-code.

Volgende stappen

Meer informatie over de ontwikkelaarsportal:

Blader door andere resources: