Saltar al contenido principal
Si usa Apigee Edge para desarrollar y gestionar las API de sus servicios de backend, puede usar Auth0 para proteger el acceso a sus proxies de API.

Requisitos previos

Antes de comenzar, necesitarás:
  1. Tener un proxy de API de Apigee Edge que deba protegerse. Para obtener más información, consulta el artículo Primeros pasos de Apigee.
  2. Regístrate para obtener una cuenta de Auth0.
El proceso de creación de tu proxy de API queda fuera del alcance de este artículo. En su lugar, nos centraremos en proteger con Auth0 un proxy de API que ya tengas.

Crear una API personalizada

Primero, registre su proxy de API de Apigee Edge en el Dashboard. Auth0 necesita reconocer a Apigee como una para garantizar que todos los emitidos tengan la audiencia correcta. El usuario se autentica con Auth0 a través de la aplicación, y la aplicación especifica este valor de audiencia para garantizar que el Token de acceso tenga los alcances correctos para la audiencia proporcionada. Deberá hacer lo siguiente:
  1. Proporcione un nombre para su API (por ejemplo, apigee).
  2. Proporcione un identificador para su API: urn:apigee:target:api
  3. Elija un algoritmo de firma: RS256 (predeterminado)
Cuando registre su proxy de API de Apigee Edge, Auth0 también creará en su nombre una aplicación de máquina a máquina (M2M) y le asignará un nombre que coincida con la API que registró. Puede usar esta aplicación para realizar pruebas; se configura automáticamente con autorización para llamar a su API.

Anota las variables de la aplicación de prueba

Cambia a la aplicación de prueba que creaste al registrar tu API y toma nota de las variables que se configuraron durante el proceso de registro de la API y de creación de la aplicación M2M asociada. Las necesitarás en los siguientes pasos de este tutorial.
  1. Ve a Auth0 Dashboard > Applications], y haz clic en el nombre de tu aplicación de prueba.
  2. Desplázate hacia abajo y toma nota de las siguientes variables:
    • audiencia de la API
    • dominio de Auth0
    • ID de cliente
    • Allowed callback URL(s): Las URL a las que se puede redirigir al usuario después de la autenticación. Puedes especificar varias URL separándolas con comas. (Esto suele hacerse para gestionar distintos entornos, donde cada uno necesita sus propias redirecciones).

Implementar el flujo de credenciales de cliente

Ahora está listo para implementar el flujo de credenciales de cliente a fin de solicitar los tokens de acceso que puede proporcionar a Apigee Edge. Tenga en cuenta que, en este escenario, usará el flujo de credenciales de cliente porque está usando Apigee con las API de su servicio de backend, lo que corresponde a una aplicación de máquina a máquina (M2M); en otros escenarios, puede ser necesario usar flujos diferentes. Para obtener información sobre cómo iniciar sesión y obtener un token de acceso que pueda usarse para llamar a Apigee Edge, consulte Llamar a una API mediante el flujo de credenciales de cliente.

Valida el token de acceso

Una vez que hayas solicitado y recibido un token de acceso de Auth0, podrás usarlo para llamar al proxy de API que configuraste con Edge. Cuando uses tu token de acceso, lo primero que hará Apigee Edge será verificar el token. Los tokens de acceso de Auth0 son (JWT), por lo que puedes aprovechar la política Verify JWT de Apigee Edge para hacerlo. Para obtener más información, lee el artículo de Apigee la política Verify JWT firmada con el algoritmo RS256. Apigee Edge verificará el token antes que nada; si se rechaza, todo el procesamiento se detendrá y Edge devolverá un error al cliente.

Pruebas

Para probar su implementación, realice una solicitud HTTP POST a Apigee Edge con el Token de acceso emitido por Auth0 incluido en el encabezado de la solicitud. Puede obtener más información revisando el artículo de Apigee Calling the protected API. Cuando reciba una respuesta correcta, extraiga el token y revíselo para verificar que incluya las claims de usuario requeridas o solicitadas.