Parte 2: Genera y prueba una clave de API

Estás consultando la documentación de Apigee Edge.
Consulta la documentación de Apigee X.
Información

Se refactorizó y redirecciona a Protege una API mediante la solicitud de claves de API.

Un desarrollador compila una app que realiza solicitudes a tus APIs para acceder a tus servicios de backend. Para controlar el acceso a tus APIs, puedes exigir que el desarrollador pase una clave de API en cada solicitud. Si falta la clave o no es válida, la solicitud fallará.

La publicación es el proceso de hacer que tus APIs estén disponibles para los desarrolladores de apps para su consumo. A grandes rasgos, las APIs de publicación se pueden definir mediante las siguientes tareas:

  1. Crear los productos de API en Apigee Edge que agrupan tus APIs
  2. Registrar a los desarrolladores de apps en Edge Solo un desarrollador de apps registrado puede registrar una app.
  3. Los desarrolladores registran apps en Edge para acceder a los productos de API. En respuesta, el desarrollador recibe una clave de API. Ahora que el desarrollador tiene una clave de API, puede realizar solicitudes a tus APIs.

Para obtener más información, consulta Introducción a la publicación.

En la siguiente tabla, se definen algunos de los términos que se usan para registrar apps y generar claves:

Término Definición
Producto de API Un paquete de proxies de API combinado con un plan de servicios que establece límites de acceso a esas APIs. Los productos de API son el mecanismo central que Apigee Edge usa para la autorización y el control de acceso a tus APIs.
Desarrollador El consumidor de la API. Los desarrolladores escriben apps que realizan solicitudes a tus APIs.
Aplicaciones Una app del cliente que un desarrollador registra para acceder a un producto de API. Cuando registras la app con el producto de API, se genera la clave de API para acceder a las APIs de ese producto.
Clave de API Es una cadena con información de autorización que usa una app del cliente para acceder a los recursos que expone el producto de API. La clave de API se genera cuando una app registrada se asocia con un producto de API.

Requisitos previos para este instructivo

En este instructivo, se supone que completaste el primer instructivo, en el que creas un proxy de API para acceder a la API de clima de Yahoo. Si aún no completaste el primer instructivo, consulta Solicita claves de API para proteger una API.

Paso 1: Crea un producto de API

  1. En la IU de administración, haz clic en la pestaña Publicar y, luego, en Productos.
  2. Haz clic en (+) Producto.
  3. Ingresa o selecciona lo siguiente en los campos del diálogo Agregar producto:
    Campo Valor
    Nombre Producto API gratuito
    Nombre visible Producto API gratuito
    Descripción Producto API gratuito
    Entorno prueba
    Acceso Solo para uso interno
    Tipo de aprobación de la clave Automática
    (la clave de API se aprueba automáticamente después de que se genera)
    Cuota 10 solicitudes cada 1 hora
    (limita la cantidad de solicitudes a 10 por hora)
    Permisos de OAuth permitidos dejar en blanco

    El diálogo completado debería verse de la siguiente manera:

  4. En la sección Recursos, elige una de las siguientes opciones:
    • Proxy de API: weatherapikey
    • Revisión: 1
    • Ruta de acceso al recurso: /forecastrss**

      La Ruta de acceso a los recursos especifica los URI de recursos a los que el producto permite que acceda una app. En este ejemplo, una app solo puede acceder al recurso /forecastrss en el proxy weatherapikey a través de este producto de API. Está prohibido intentar usar este producto de API para acceder a cualquier otro recurso en el proxy weatherapiproxy o en cualquier otro proxy.

      Se permiten caracteres comodín para la ruta del recurso. El comodín "/**" indica que se incluyen todos los subURI, es decir, un recurso con el formato /forecastrss/foo/bar. El comodín "/" indica que solo se incluyen los URI de un nivel inferior. Consulta Cómo crear productos de API para obtener más información.

      Ten en cuenta que la lista desplegable Resource Path muestra todos los flujos condicionales definidos en el proxy de API especificado. El flujo condicional de un proxy de API define la lógica o los pasos de procesamiento asociados con una ruta de acceso a un recurso. Un producto de API controla el acceso a esas rutas de acceso de los recursos.
  5. Haz clic en Import Resource. Se agrega la ruta de acceso al recurso y el proxy de API weatherapikey se agrega automáticamente a la sección Proxies de API para productos.
  6. Haz clic en Guardar. Tu producto nuevo aparecerá en la página Productos.

Obtenga más información:

Paso 2: Registra a un desarrollador

Para generar una clave de API, debes registrar una app y asociarla con un producto de API. Sin embargo, no puedes registrar una app sin registrar primero a su desarrollador.

  1. En la IU de administración, haz clic en la pestaña Publicar y, luego, en Desarrolladores.
  2. Haz clic en (+) Desarrollador.
  3. En el diálogo New Developer, ingresa los siguientes valores:
    • Nombre: Jane
    • Apellido: Instructivo
    • Dirección de correo electrónico: janetutorial@example.com
    • Nombre de usuario: jtutorial
  4. Haz clic en Guardar. El nuevo desarrollador aparecerá en la lista de la página Desarrolladores.

Obtenga más información:

Paso 3: Registra la app

Ahora que tienes un producto de API y un desarrollador, puedes registrar una app con el producto de API. El registro de la app genera la clave de API para los productos de API asociados con la app. Luego, puedes distribuir la clave a los desarrolladores de apps de modo que puedan acceder a las funciones de los productos de API desde la app.

  1. En la IU de la plataforma de API, haz clic en la pestaña Publicar y, luego, en Apps para desarrolladores.
  2. Haz clic en (+) App de desarrollador.
  3. En el diálogo Agregar una app, ingresa los siguientes valores:
    • Nombre visible: Weather API Key App
    • Desarrolladora: Jane Tutorial (janetutorial@example.com)
    • Callback URL: dejar en blanco
  4. Asocia la app a un producto:
    1. En la sección Productos, haz clic en + Producto.
    2. Selecciona Free API Product.
    3. Haz clic en el ícono de marca de verificación para aceptar los cambios.
  5. Haz clic en Save. La nueva app aparecerá en la lista de apps de la página Apps para desarrolladores.
  6. Selecciona Weather API Key App en la lista de apps. Se abrirá la página de detalles de la app.
  7. Debido a que seleccionaste Tipo de aprobación de clave: Automática cuando creaste el producto de API, la clave de API se aprueba de forma automática y puedes verla de inmediato. (si seleccionaste Approval Type: Manual, debes hacer clic en Approval en la columna Acciones del Producto de API gratuito a fin de aprobar la clave de API).
  8. En la sección Productos, junto a la entrada Free API Product, haz clic en Show en las columnas Consumer Key y Consumer Secret para mostrar las claves generadas.

    La clave de consumidor es otro nombre para la clave de API y es la única clave que una app necesita para acceder al recurso de previsión a través de tu proxy de API . El secreto del consumidor es necesario (junto con la clave de consumidor) para proteger una API a través de OAuth 2.0. Consulta, por ejemplo, OAuth 2.0: Cómo configurar un proxy de API nuevo.

Obtenga más información:

Paso 4: Usa la clave de API en una solicitud

Para asegurarte de que la política VerifyAPIKey funcione correctamente, debes probarla mediante una llamada al proxy de API con una clave de API válida. Puedes solicitar el proxy de API en un navegador, desde la página de seguimiento del proxy de API, desde la consola de Apigee o mediante cURL. La URL que se debe solicitar tiene el siguiente formato:

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

Sustituye el nombre de tu organización de Apigee por {org-name} y el valor apikey correcto.

Busca el siguiente contenido en la respuesta:

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

Si omites la clave de API de la solicitud o especificas un valor de clave no válido, recibirás una respuesta de error con el siguiente formato:

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

Paso 5: ¿Cuál es el próximo paso?

Ahora que realizaste una solicitud a la API con un parámetro de consulta para pasar la clave de API, modifica la API a fin de pasar la clave como encabezado.

Continúa con Cómo proteger una API mediante la solicitud de claves de API.