Часть 2. Создайте и протестируйте ключ API

Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X.
информация

Рефакторинг и перенаправление для защиты API путем запроса ключей API .

Разработчик создает приложение , которое отправляет запросы к вашим API для доступа к вашим серверным службам. Чтобы контролировать доступ к вашим API, вы можете потребовать от разработчика передавать ключ API при каждом запросе. Если ключ отсутствует или недействителен, запрос не будет выполнен.

Публикация — это процесс предоставления ваших API-интерфейсов разработчикам приложений для использования. API публикации можно в общих чертах определить по следующим задачам:

  1. Создайте продукты API в Apigee Edge, объединяющие ваши API.
  2. Зарегистрируйте разработчиков приложений в Edge. Только зарегистрированный разработчик приложения может зарегистрировать приложение.
  3. Разработчики регистрируют приложения в Edge для доступа к продуктам API. В ответ разработчик получает API-ключ. Теперь, когда у разработчика есть ключ API, он может отправлять запросы к вашим API.

Дополнительные сведения см. в разделе Введение в публикацию .

В следующей таблице определены некоторые термины, используемые для регистрации приложений и генерации ключей:

Срок Определение
API-продукт Пакет прокси-серверов API в сочетании с планом обслуживания, который устанавливает ограничения на доступ к этим API. Продукты API — это центральный механизм, который Apigee Edge использует для авторизации и контроля доступа к вашим API.
Разработчик Потребитель API. Разработчики пишут приложения, которые отправляют запросы к вашим API.
Приложение Клиентское приложение, которое разработчик регистрирует для доступа к продукту API. При регистрации приложения в продукте API генерируется ключ API для доступа к API в этом продукте.
API-ключ Строка с информацией об авторизации, которую клиентское приложение использует для доступа к ресурсам, предоставляемым продуктом API. Ключ API генерируется, когда зарегистрированное приложение связано с продуктом API.

Предварительные требования для этого урока

В этом руководстве предполагается, что вы прошли первое руководство по созданию прокси-сервера API для доступа к API погоды Yahoo. Если вы еще не прошли первое руководство, см. раздел Защита API путем запроса ключей API .

Шаг 1. Создайте продукт API

  1. В пользовательском интерфейсе управления нажмите вкладку «Публикация» , затем «Продукты» .
  2. Нажмите (+) Товар .
  3. Введите или выберите следующее в полях диалогового окна «Добавить продукт»:
    Поле Ценить
    Имя Бесплатный API-продукт
    Отображаемое имя Бесплатный API-продукт
    Описание Бесплатный API-продукт
    Среда тест
    Доступ Только внутренний
    Ключевой тип утверждения Автоматический
    (ключ API автоматически утверждается после его создания)
    Квота 10 запросов в час
    (ограничивает количество запросов до 10 в час)
    Разрешенные области действия OAuth оставить пустым

    Заполненный диалог должен выглядеть следующим образом:

  4. В разделе «Ресурсы» выберите:
    • API-прокси : Weatherapikey
    • Редакция : 1
    • Путь к ресурсу : /forecastrss**

      Путь к ресурсу указывает URI ресурсов, к которым продукт разрешает доступ приложению. В этом примере приложение может получить доступ к ресурсу /forecastrss на прокси-сервере Weatherapikey только через этот продукт API. Попытка использовать этот продукт API для доступа к любому другому ресурсу на прокси-сервере WeatherAPIProxy или на любом другом прокси-сервере запрещена.

      Для пути к ресурсу разрешены подстановочные знаки. Подстановочный знак «/**» указывает, что включены все суб-URI, что означает ресурс в форме /forecastrss/foo/bar . Подстановочный знак «/» указывает, что включены только URI на один уровень ниже. Дополнительные сведения см. в разделе Создание продуктов API .

      Обратите внимание, что раскрывающийся список «Путь к ресурсу» показывает все условные потоки, определенные для указанного прокси-сервера API. Условный поток прокси-сервера API определяет логику или этапы обработки, связанные с путем к ресурсу. Продукт API контролирует доступ к этим путям ресурсов.
  5. Нажмите «Импортировать ресурс» . Будет добавлен путь к ресурсу, а прокси-сервер API Weatherapikey автоматически будет добавлен в раздел «Прокси-серверы API для продукта» .
  6. Нажмите Сохранить . Ваш новый продукт указан на странице «Продукты».

Узнать больше:

Шаг 2. Зарегистрируйте разработчика

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

  1. В пользовательском интерфейсе управления нажмите вкладку «Опубликовать» , затем «Разработчики» .
  2. Нажмите (+) Разработчик .
  3. В диалоговом окне «Новый разработчик» введите следующие значения:
    • Имя : Джейн
    • Фамилия : Учебник
    • Адрес электронной почты : janetutorial@example.com.
    • Имя пользователя : jtutorial
  4. Нажмите Сохранить . Новый разработчик появится в списке разработчиков на странице «Разработчики».

Узнать больше:

Шаг 3. Зарегистрируйте приложение.

Теперь, когда у вас есть продукт API и разработчик, вы можете зарегистрировать приложение с помощью продукта API. При регистрации приложения генерируется ключ API для продуктов API, связанных с приложением. Затем вы можете передать ключ разработчикам приложений, чтобы они могли получить доступ к функциям продуктов API из приложения.

  1. В пользовательском интерфейсе платформы API нажмите вкладку «Публикация» , затем «Приложения разработчика» .
  2. Нажмите (+) Приложение для разработчиков .
  3. В диалоговом окне «Добавить приложение» введите следующие значения:
    • Отображаемое имя : Приложение ключа API погоды.
    • Разработчик : Jane Tutorial (janetutorial@example.com)
    • URL обратного вызова : оставьте пустым.
  4. Свяжите приложение с продуктом:
    1. В разделе «Продукты» нажмите + Товар .
    2. Выберите Бесплатный продукт API .
    3. Нажмите на значок галочки , чтобы принять изменения.
  5. Нажмите «Сохранить». Новое приложение появится в списке приложений на странице «Приложения для разработчиков».
  6. Выберите Приложение Weather API Key в списке приложений. Откроется страница сведений о приложении.
  7. Поскольку при создании продукта API вы выбрали Тип утверждения ключа: Автоматически , ключ API утверждается автоматически, и вы можете просмотреть его немедленно. (Если вы выбрали Тип утверждения: Вручную , вам нужно будет нажать «Утвердить» в столбце «Действия» для продукта «Бесплатный API», чтобы утвердить ключ API.)
  8. В разделе «Продукты» рядом с записью « Продукт бесплатного API» нажмите « Показать» в столбцах «Ключ потребителя» и «Секрет потребителя» , чтобы отобразить сгенерированные ключи.

    Consumer Key — это другое название ключа API, и это единственный ключ, который нужен приложению для доступа к ресурсу прогноза через прокси-сервер API. Секрет потребителя необходим (вместе с ключом потребителя) для защиты API через OAuth 2.0. См., например, OAuth 2.0: Настройка нового прокси-сервера API .

Узнать больше:

Шаг 4. Используйте ключ API в запросе

Чтобы убедиться, что политика VerifyAPIKey работает правильно, необходимо протестировать ее, выполнив вызов прокси-сервера API с действительным ключом API. Вы можете запросить прокси-сервер API в браузере, на странице трассировки прокси-сервера API, из консоли Apigee или с помощью cURL. URL-адрес для запроса имеет форму:

http://{org-name}-test.apigee.net/v1/weatherapikey/forecastrss?w=12797282&apikey=IEYRtW2cb7A5Gs54A1wKElECBL65GVls

Замените название организации Apigee на {org-name} и правильное значение apikey .

Найдите в ответе следующее содержание:

<rss xmlns:yweather="http://xml.weather.yahoo.com/ns/rss/1.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" version="2.0"> 
<channel> <title>Yahoo! Weather - Palo Alto, CA</title> 
<link>http://us.rd.yahoo.com/dailynews/rss/weather/Palo_Alto__CA/*http://weather.yahoo.com/forecast/USCA1093_f.html</link> 
<description>Yahoo! Weather for Palo Alto, CA</description> <language>en-us</language>

Если вы опустите ключ API в запросе или укажете неверное значение ключа, вы получите ответ об ошибке в виде:

{"fault":{"faultstring":"Failed to resolve API Key variable null","detail":{"errorcode":"steps.oauth.v2.FailedToResolveAPIKey"}}}

Шаг 5: Куда дальше?

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

Продолжайте защищать API, требуя ключи API .