Övning – Anropa ett API med en prenumerationsnyckel
En prenumerationsnyckel är ett sätt att begränsa åtkomsten till ett API.
I exemplet med skoföretaget samarbetar NorthWind Shoes med en leverantör och vill att de ska ha direkt åtkomst till inventerings-API:t. Partneråtkomst måste begränsas med hjälp av en prenumerationsnyckel för alla anrop till API:et.
Här hämtar du en prenumerationsnyckel för ditt API. Sedan testar du åtkomsten till API:et med och utan prenumerationsnyckeln.
Hämta prenumerationsnyckel
Partner får nyckeln som en del av välkomstprocessen. I den här övningen lägger du till en prenumeration specifikt för NorthWindShoes-API:et. När du har en nyckel följer du en standardprocess för att använda nyckeln i API-anrop.
På menyn Azure Portal eller på sidan Start väljer du Alla resurser och sedan din API Management-instans.
I det vänstra menyfönstret går du till API:er och väljer Prenumerationer.
Välj + Prenumeration och ange följande värden för varje inställning. Välj sedan Skapa.
Inställning Värde Name NorthWind
Visningsnamn NorthWind subscription
Omfattning Välj API och välj sedan NorthWindShoes Products i listrutan. Välj snabbmenyn (...) för Northwind-prenumerationen och välj sedan Visa/dölj nycklar.
Välj knappen Klicka för att kopiera för PRIMÄRNYCKEL.
Spara nyckeln någonstans, till exempel i Anteckningar.
Använda prenumerationsnyckeln i ett API-anrop
Nästa steg är att använda prenumerationsnyckeln för att testa utvecklaråtkomsten till ditt publicerade API.
Kör följande kommando i Cloud Shell för att komma åt produktåtgärden i api:et och ersätt
<apim gateway>
med namnet på din gateway.curl https://<apim gateway>.azure-api.net/api/Products
Du får ett meddelande om 401, Åtkomst nekad på grund av att prenumerationsnyckeln saknas.
Upprepa nu curl-begäran, den här gången inklusive din prenumerationsnyckel.
Kör följande kommando i Cloud Shell, ersätt
<primary key>
med nyckeln du sparade tidigare och ersätt<apim gateway>
med namnet på din gateway.curl --header "Ocp-Apim-Subscription-Key: <primary key>" https://<apim gateway>.azure-api.net/api/Products
Nu ska du ha åtkomst till API:et och se en lista över produkter som returnerats till konsolen.