Solución de errores HTTP 401 detectados al usar las API

Resumen

En este artículo se explica cómo solucionar los errores HTTP 401 detectados al usar las API en Azure API Management.

Este artículo corresponde al tercer escenario del laboratorio de la serie de resolución de problemas de Azure API Management. Asegúrese de seguir las instrucciones de configuración del laboratorio de acuerdo con las instrucciones del laboratorio de la serie sobre resolución de problemas de API Management.

Versión original del producto: servicio API Management
Número de KB original: 4464930

Síntomas

Echo API comienza a causar diversos tipos de errores HTTP 401: errores no autorizados al realizar operaciones. Crear recurso y Recuperar operaciones de recursos muestran este mensaje de error:

"statusCode": 401,
"message": "Acceso denegado debido a una clave de suscripción no válida. Asegúrese de proporcionar una clave válida para una suscripción activa".

Otras operaciones muestran este mensaje de error:

"statusCode": 401,
"message": "Acceso denegado debido a la falta de clave de suscripción. Asegúrese de incluir la clave de suscripción al realizar solicitudes a una API".

Solución de problemas

En el proceso de suscripción del producto de API, obtendrá una clave de suscripción. La envía como parte del encabezado de solicitud y funciona para cualquier API de ese producto. El encabezado de solicitud Ocp-Apim-Subscription-Key es para la clave de suscripción del producto asociado a esta API. La clave se rellena automáticamente.

En el caso del error Acceso denegado debido a una clave de suscripción no válida. Asegúrese de proporcionar una clave válida para una suscripción activa, se envía un valor incorrecto de Ocp-Apim-Subscription-Key en el encabezado de la solicitud al realizar las operaciones Crear recurso y Recuperar recurso.

Inicie sesión en el portal para desarrolladores de API Management y compruebe la clave de suscripción de un producto determinado; para ello, vaya a la página Perfil después del inicio de sesión, como se muestra en el ejemplo siguiente:

Captura de pantalla de las claves de suscripción para los productos respectivos.

Seleccione Mostrar para ver las claves de suscripción para los productos respectivos a los que se ha suscrito.

Compruebe los encabezados que va a enviar desde la pestaña Prueba . Observe que el valor del encabezado de solicitud Ocp-Apim-Subscription-Key es incorrecto.

Ahora compruebe la Frontend definición de las operaciones Crear recurso y Recuperar recursos en la pestaña Diseño . Observe que estas operaciones tienen un valor codificado de forma rígida incorrecto del encabezado de solicitud Ocp-Apim-Subscription-Key agregado en la pestaña Encabezados .

Al quitarlo, resuelve el problema de clave de suscripción no válida, pero no el error de clave de suscripción que falta.

Puede encontrar el siguiente mensaje de error:

HTTP/1.1 401 No autorizado

Longitud del contenido: 152
Tipo de contenido: application/json
Fecha: Sun, 29 jul 2018 14:29:50 GMT
Vary: Origin WWW-Authenticate: AzureApiManagementKey realm="https://pratyay.azure-api.net/echo",name="Ocp-Apim-Subscription-Key",type="header" {
"statusCode": 401,
"message": "Acceso denegado debido a la falta de clave de suscripción. Asegúrese de incluir la clave de suscripción al realizar solicitudes a una API".

Vaya a la configuración de Echo API y compruebe si está asociado a cualquiera de los productos disponibles. Si no es así, debe asociar esta API a un producto para obtener una clave de suscripción.

Durante el proceso de suscripción, si creaste la instancia de API Management, eres administrador de forma predeterminada. Esto significa que estás suscrito a todos los productos.