Упражнение. Вызов API с использованием ключа подписки
Ключ подписки — один из способов ограничения доступа к API.
В рассматриваемом примере компания NorthWind Shoes хочет предоставить своим поставщикам прямой доступ к API Inventory. Доступ к партнеру должен быть ограничен с помощью ключа подписки для всех вызовов API.
Здесь вы получите ключ подписки для API. Затем вы тестируете доступ к API с ключом подписки и без нее.
Получение ключа подписки
Ключ подписки предоставляется партнерам в рамках процесса подключения. В этом упражнении вы добавите подписку специально для API NorthWindShoes. Получив ключ, выполните стандартный процесс использования ключа в вызовах API.
В меню портал Azure или на домашней странице выберите все ресурсы и выберите экземпляр Управление API.
В левой области меню в разделе Интерфейсы API выберите Подписки.
Выберите +Подписка и введите следующие значения для каждого параметра. Затем выберите Создать.
Параметр Значение Имя. NorthWind
Показать имя NorthWind subscription
Область Выберите API и выберите "Продукты NorthWindShoes" в раскрывающемся списке. Выберите контекстное меню (...) для подписки Northwind и нажмите кнопку "Показать и скрыть ключи".
Нажмите кнопку Щелкните, чтобы скопировать для ПЕРВИЧНОГО КЛЮЧА.
Сохраните этот ключ, например с помощью приложения "Блокнот".
Использование ключа подписки в вызове API
Далее вам необходимо протестировать доступ для разработчиков к опубликованному API с использованием ключа подписки.
Выполните следующую команду в Cloud Shell, чтобы получить доступ к операции Products в API. Обратите внимание, что вместо атрибута
<apim gateway>
следует использовать имя вашего шлюза.curl https://<apim gateway>.azure-api.net/api/Products
Вы получаете 401, Доступ запрещен из-за отсутствия сообщения ключа подписки.
Теперь повторите запрос curl, в этот раз в том числе ключ подписки.
Выполните следующую команду в Cloud Shell. Вместо атрибута
<primary key>
укажите ранее сохраненный ключ, а вместо атрибута<apim gateway>
— имя вашего шлюза.curl --header "Ocp-Apim-Subscription-Key: <primary key>" https://<apim gateway>.azure-api.net/api/Products
После этого вы должны получить доступ к API, а в консоли должен отобразиться список продуктов.