Saltar al contenido principal

Antes de comenzar

Necesitarás una cuenta de Microsoft con acceso al Azure Portal.
El servicio Azure API Management te permite crear nuevas API o importar definiciones de API existentes y publicarlas para su uso por parte de las audiencias autorizadas. Auth0 facilita la autorización de los usuarios de tu API (mediante los estándares de ). En este tutorial, aprenderás a usar Auth0 para autenticar y autorizar a los usuarios cuando accedan a una API de calculadora básica administrada por Azure API Management.

Configura Auth0

Crear una API

Debe crear una API en Auth0 para representar la API administrada por Azure API Management Service. Para obtener más información, consulte Registrar API.
  1. Vaya a Auth0 Dashboard > Applications > APIs y seleccione Create API.
  2. Configure los siguientes parámetros:
    CampoValor
    NombreBasic Calculator
    Identificadorbasic-calculator
    Algoritmo de firmaRS256
  3. Seleccione Create.

Crear una aplicación web regular

Debe crear una aplicación web regular (RWA) en Auth0 para comunicarse con el de OAuth 2.0 en Azure:
  1. Vaya a Auth0 Dashboard > Applications > Applications y seleccione el botón Create Application.
  2. Introduzca un nombre para su aplicación y seleccione Regular Web Applications como tipo de aplicación.

Crear y habilitar una conexión

Deberá crear una conexión en Auth0 y habilitarla para su aplicación:
  1. Vaya a Auth0 Dashboard > Autenticación > Base de datos y seleccione Crear conexión de base de datos.
  2. Introduzca un nombre para su conexión. Le sugerimos elegir un nombre que refleje el origen de los usuarios (por ejemplo, Facebook para una conexión que contiene usuarios que usan sus credenciales de Facebook, o site-sign-ups para una conexión de base de datos en la que los usuarios se registran en su sitio).
  3. Seleccione Crear.
  4. Vaya a la página de Configuración de su conexión.
  5. Cambie a la vista Aplicaciones, donde verá una lista de todas las aplicaciones de su inquilino.
  6. Active la aplicación que creó anteriormente para habilitarla en la conexión.

Crear un usuario

Si ya tiene un grupo de usuarios, puede importarlos o crear una conexión de base de datos personalizada.
Necesita tener al menos un usuario en la conexión para probar la autenticación y la autorización. Si no tiene un grupo de usuarios existente para la conexión, puede crear uno manualmente:
  1. Vaya a Auth0 Dashboard > User Management > Users y seleccione Create User.
  2. Introduzca un correo electrónico y una contraseña, y seleccione la conexión que creó en el paso 3 en el campo Conexión.
  3. Seleccione Create.

Configurar Azure

Crear un servicio de API Management en Azure

Deberá crear una instancia de API Management en Azure para administrar su API:
  1. En la barra de navegación, seleccione Create a resource.
  2. Una vez que se le redirija, seleccione Web > API Management.
  3. Proporcione las siguientes variables de configuración:
    ParámetroDescripción
    NombreEl nombre del servicio (que también se usará para crear la URL que necesitará para acceder al servicio)
    SuscripciónEl plan de suscripción de Azure que usará con el servicio
    Grupo de recursosLa colección de recursos que comparten un ciclo de vida, permisos y directivas. Puede usar un grupo de recursos existente o crear uno nuevo (deberá proporcionar un nombre para el grupo si crea uno nuevo)
    UbicaciónElija la ubicación que dará servicio a su instancia de API
    Nombre de la organizaciónEl nombre de su organización
    Correo electrónico del administradorLa dirección de correo electrónico de la persona que administrará esta instancia
    Nivel de preciosEl nivel de precios que desee, que determina la cantidad de llamadas que puede hacer a su API, así como la cantidad máxima de transferencia de datos permitida. Debe optar por el plan Developer o uno superior; el plan Consumption no ofrece suficiente funcionalidad para que esta integración funcione.
  4. Seleccione Create para iniciar el aprovisionamiento del servicio (esto puede tardar hasta 15 minutos en completarse).

Importar la API de ejemplo

Para este tutorial, importaremos y usaremos la API Basic Calculator proporcionada por Microsoft. Para obtener instrucciones detalladas, consulta Import and Publish Your First API de Microsoft. Cuando termines, selecciona Create para importar la API. Se te redirigirá a la página de resumen de la API cuando se haya importado por completo.

Configurar un servidor de autorización de OAuth 2.0

Para usar Auth0 para proteger su API de Azure, deberá registrar Auth0 como un servidor de autorización de OAuth 2.0:
  1. Busque el área OAuth 2.0 + OpenID Connect de su instancia del servicio API Management cerca de la barra de navegación. Seleccione OAuth 2.0 y, a continuación, seleccione Add.
  2. Vaya a la pantalla de configuración Add OAuth2 service y seleccione el tipo de concesión Authorization Code.
  3. Configure los siguientes parámetros:
    ParámetroDescripción
    Display nameIntroduzca un nombre descriptivo para su servidor de autorización, como Auth0.
    IdEste campo debería completarse automáticamente en función del nombre para mostrar que indique.
    DescriptionIntroduzca una descripción para su servidor de autorización, como Auth0 API Authentication.
    Client registration page URLIntroduzca https://placeholder.contoso.com como marcador de posición.
    Authorization code grant typesSeleccione Authorization code.
    Authorization endpoint URLConsulte el endpoint de descubrimiento de OIDC de su inquilino y agregue el parámetro audience. Por ejemplo: https://{yourDomain}/authorize?audience={API_AUDIENCE}.
    Authorization request methodEl valor predeterminado es GET.
    Token endpoint URLConsulte el endpoint de descubrimiento de OIDC de su inquilino.
    Client authentication methodsSeleccione Basic.
    token de acceso sending methodSeleccione Authorization header.
    Default scopeEspecifique un scope predeterminado, si es necesario.
  4. En la sección Client Credentials, introduzca el ID de cliente de su aplicación de Auth0 en el campo Client ID y el secreto del cliente en el campo Client secret.
  5. Cambie a la vista Redirect URI y copie el valor del URI del campo Authorization code flow grant.
  6. Seleccione Create.

Configura la API de Azure para usar Auth0

Después de crear tu servidor de autorización de OAuth 2.0 en Azure, tendrás que actualizar tu API de Azure para usar Auth0 para la autorización de usuarios:
  1. En la sección APIs del menú de navegación, selecciona APIs.
  2. Selecciona la API Basic Calculator y ve a la vista Design.
  3. Cambia a la vista Settings.
  4. Ve a la sección Security y selecciona OAuth 2.0 en User Authorization.
  5. En el campo Servidor de autorización, selecciona el servidor que configuraste en el paso anterior.
  6. Haz clic en Save.

Configure la Allowed Callback URL en Auth0

Después de aprovisionar y configurar la API de Azure para usar Auth0 para la autorización de usuarios, deberá actualizar su aplicación de Auth0:
  1. Vaya a Auth0 Dashboard > Applications > Applications.
  2. Seleccione su aplicación y cambie a la vista Settings.
  3. Introduzca la URI de redirección que copió anteriormente en el campo Allowed Callback URLs.
  4. Haga clic en Save.

Pruebe la integración

En Azure Portal, abra la instancia de API Management Service.
  1. Seleccione Consola para desarrolladores para abrir la interfaz de sus API orientada a desarrolladores.
  2. Vaya a APIs > Basic Calculator. Se abrirá la página donde puede realizar una llamada GET para sumar dos números enteros.
  3. Seleccione Try It. Se abrirá la página donde puede proporcionar los parámetros de la llamada.
  4. Vaya a la sección Authorization y seleccione Authorization Code (junto al campo Auth0).
  5. Aparecerá una ventana emergente con el widget de inicio de sesión de Auth0 (si no aparece, asegúrese de que el bloqueador de ventanas emergentes esté desactivado en su navegador). Introduzca las credenciales del usuario de Auth0 que creó en el paso 4 e inicie sesión.
  6. Si inicia sesión correctamente, aparecerá un mensaje con la fecha de vencimiento del token de acceso que puede usar para llamar a la API.
  7. Desplácese hasta la parte inferior y seleccione Send. Si la solicitud se realiza correctamente, verá un mensaje con la respuesta HTTP 200 en la parte inferior de la página.

Configurar una política de validación de JWT para tokens de acceso

En el paso anterior, se le solicita al usuario que inicie sesión cuando intenta realizar una llamada desde la Consola para desarrolladores. La Consola para desarrolladores intenta obtener un en nombre del usuario para incluirlo en la solicitud a la API. Todos los tokens de acceso se enviarán a la API mediante el encabezado Authorization. Si desea validar el token de acceso incluido en cada solicitud, puede hacerlo con la política Validate JWT. Consulte la documentación de Microsoft sobre cómo configurar una política de API Management.