Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee X.info
Произведена рефакторизация и перенаправление для обеспечения безопасности API путем обязательного использования ключей API .
Разработчик создает приложение , которое отправляет запросы к вашим API для доступа к вашим бэкэнд-сервисам. Для контроля доступа к вашим API вы можете потребовать от разработчика передавать ключ API в каждом запросе. Если ключ отсутствует или недействителен, запрос завершается неудачей.
Публикация — это процесс предоставления ваших API разработчикам приложений для использования. Публикацию API можно в общих чертах определить по следующим задачам:
- Создайте в Apigee Edge API-продукты, которые объединят ваши API.
- Зарегистрируйте разработчиков приложений в Edge. Зарегистрировать приложение может только зарегистрированный разработчик.
- Разработчики регистрируют приложения в 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-продукт
- В интерфейсе управления перейдите на вкладку «Публикация» , затем выберите «Продукты» .
- Нажмите (+) на товар .
- В полях диалогового окна «Добавить товар» введите или выберите следующие данные:
Поле Ценить Имя Бесплатный API-продукт Отображаемое имя Бесплатный API-продукт Описание Бесплатный API-продукт Среда тест Доступ Только для внутреннего использования Ключевой тип утверждения Автоматический
(API-ключ автоматически подтверждается после его генерации)Квота 10 запросов в час
(Ограничивает количество запросов до 10 в час)Разрешенные области действия OAuth оставить пустым Заполненное диалоговое окно должно выглядеть следующим образом:

- В разделе «Ресурсы» выберите:
- API-прокси : weatherapikey
- Редакция : 1
- Путь к ресурсу : /forecastrss**
В поле «Путь к ресурсу» указываются URI ресурсов, к которым продукт разрешает доступ приложению. В этом примере приложение может получить доступ к ресурсу /forecastrss на прокси-сервере weatherapikey только через этот API-продукт. Попытки использовать этот API-продукт для доступа к любому другому ресурсу на прокси-сервере weatherapiproxy или на любом другом прокси-сервере запрещены.
В пути к ресурсу допускаются символы-заменители. Символ-заменитель "/**" указывает на включение всех под-URI, то есть ресурса в формате /forecastrss/foo/bar . Символ-заменитель "/" указывает на включение только URI на один уровень ниже. См. раздел «Создание продуктов API» для получения дополнительной информации.
Обратите внимание, что в раскрывающемся списке « Путь к ресурсу» отображаются все условные потоки, определенные для указанного API-прокси. Условный поток API-прокси определяет логику или этапы обработки, связанные с путем к ресурсу. API-продукт контролирует доступ к этим путям к ресурсам.
- Нажмите «Импорт ресурса» . Путь к ресурсу будет добавлен, и прокси-сервер API weatherapikey автоматически добавится в раздел «Прокси-серверы API для продукта» .
- Нажмите «Сохранить» . Ваш новый товар появится на странице «Товары».
Узнать больше:
Шаг 2: Зарегистрируйте разработчика
Для генерации ключа API необходимо зарегистрировать приложение и связать его с продуктом API. Однако зарегистрировать приложение без предварительной регистрации его разработчика невозможно.
- В интерфейсе управления перейдите на вкладку «Публикация» , затем выберите «Разработчики» .
- Нажмите (+) Разработчик .
- В диалоговом окне «Новый разработчик» введите следующие значения:
- Имя : Джейн
- Фамилия: Учебное заведение
- Адрес электронной почты : janetutorial@example.com
- Имя пользователя : jtutorial
- Нажмите «Сохранить» . Новый разработчик появится в списке разработчиков на странице «Разработчики».
Узнать больше:
Шаг 3: Зарегистрируйте приложение
Теперь, когда у вас есть API-продукт и разработчик, вы можете зарегистрировать приложение в этом API-продукте. Регистрация приложения генерирует API-ключ для API-продуктов, связанных с этим приложением. Затем вы можете распространить этот ключ среди разработчиков приложений, чтобы они могли получить доступ к функциям API-продуктов из своего приложения.
- В пользовательском интерфейсе платформы API перейдите на вкладку «Публикация» , затем выберите «Приложения для разработчиков» .
- Нажмите (+) Приложение разработчика .
- В диалоговом окне «Добавить приложение» введите следующие значения:
- Отображаемое имя : Приложение с ключом API погоды
- Разработчик : Джейн Туториал (janetutorial@example.com)
- URL обратного вызова : оставьте пустым
- Свяжите приложение с продуктом:
- В разделе «Продукты» нажмите кнопку «+ Продукт» .
- Выберите бесплатный API-продукт .
- Нажмите на значок галочки , чтобы подтвердить изменения.
- Нажмите «Сохранить». Новое приложение появится в списке приложений на странице «Приложения для разработчиков».
- Выберите приложение Weather API Key App в списке приложений. Откроется страница с подробной информацией о приложении.
- Поскольку при создании API-продукта вы выбрали тип утверждения ключа: Автоматический , API-ключ утверждается автоматически, и вы можете просмотреть его сразу же. (Если бы вы выбрали тип утверждения: Ручной , вам потребовалось бы нажать кнопку «Утвердить» в столбце «Действия» для бесплатного API-продукта, чтобы утвердить API-ключ.)
- В разделе «Продукты» рядом с записью «Бесплатный 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» .