Упражнение. Вызов API с использованием ключа подписки

Завершено

Ключ подписки — один из способов ограничения доступа к API.

В рассматриваемом примере компания NorthWind Shoes хочет предоставить своим поставщикам прямой доступ к API Inventory. Доступ к партнеру должен быть ограничен с помощью ключа подписки для всех вызовов API.

Здесь вы получите ключ подписки для API. Затем вы тестируете доступ к API с ключом подписки и без нее.

Получение ключа подписки

Ключ подписки предоставляется партнерам в рамках процесса подключения. В этом упражнении вы добавите подписку специально для API NorthWindShoes. Получив ключ, выполните стандартный процесс использования ключа в вызовах API.

  1. В меню портал Azure или на домашней странице выберите все ресурсы и выберите экземпляр Управление API.

  2. В левой области меню в разделе Интерфейсы API выберите Подписки.

  3. Выберите +Подписка и введите следующие значения для каждого параметра. Затем выберите Создать.

    Параметр Значение
    Имя NorthWind
    Отображаемое имя NorthWind subscription
    Область действия Выберите API и выберите "Продукты NorthWindShoes" в раскрывающемся списке.
  4. Выберите контекстное меню (...) для подписки Northwind и нажмите кнопку "Показать и скрыть ключи".

  5. Нажмите кнопку Щелкните, чтобы скопировать для ПЕРВИЧНОГО КЛЮЧА.

  6. Сохраните этот ключ, например с помощью приложения "Блокнот".

Использование ключа подписки в вызове API

Далее вам необходимо протестировать доступ для разработчиков к опубликованному API с использованием ключа подписки.

  1. Выполните следующую команду в Cloud Shell, чтобы получить доступ к операции Products в API. Обратите внимание, что вместо атрибута <apim gateway> следует использовать имя вашего шлюза.

    curl https://<apim gateway>.azure-api.net/api/Products
    

    Вы получаете 401, Доступ запрещен из-за отсутствия сообщения ключа подписки.

  2. Теперь повторите запрос curl, в этот раз в том числе ключ подписки.

  3. Выполните следующую команду в Cloud Shell. Вместо атрибута <primary key> укажите ранее сохраненный ключ, а вместо атрибута <apim gateway> — имя вашего шлюза.

    curl --header "Ocp-Apim-Subscription-Key: <primary key>" https://<apim gateway>.azure-api.net/api/Products
    

    После этого вы должны получить доступ к API, а в консоли должен отобразиться список продуктов.