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

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

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

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

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

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

    Ключ потребителя (Consumer Key) — это другое название ключа API, и это единственный ключ, необходимый приложению для доступа к ресурсу прогнозов через ваш API-прокси. Секрет потребителя (Consumer Secret) необходим (вместе с ключом потребителя) для защиты 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

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

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

<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» .