

# Solución de problemas con los autorizadores JWT de la API HTTP
<a name="http-api-troubleshooting-jwt"></a>

A continuación se le proporcionan consejos para solucionar errores y problemas que puedan surgir al utilizar los autorizadores de JSON Web Token (JWT) con API HTTP.

## Problema: mi API devuelve `401 {"message":"Unauthorized"}`
<a name="http-api-troubleshooting-jwt.unauthorized"></a>

Compruebe el encabezado `www-authenticate` en la respuesta de la API.

El siguiente comando utiliza `curl` para enviar una solicitud a una API con un autorizador de JWT que utiliza `$request.header.Authorization` como su origen de identidad.

```
$curl -v -H "Authorization: token" https://api-id.execute-api.us-west-2.amazonaws.com/route
```

La respuesta de la API incluye un encabezado `www-authenticate`.

```
...
< HTTP/1.1 401 Unauthorized
< Date: Wed, 13 May 2020 04:07:30 GMT
< Content-Length: 26
< Connection: keep-alive
< www-authenticate: Bearer scope="" error="invalid_token" error_description="the token does not have a valid audience"
< apigw-requestid: Mc7UVioPPHcEKPA=
<
* Connection #0 to host api-id.execute-api.us-west-2.amazonaws.com left intact
{"message":"Unauthorized"}}
```

En este caso, el encabezado `www-authenticate` muestra que el token no se emitió para un destinatario válido. Para que API Gateway autorice una solicitud, la reclamación `aud` o `client_id` de JWT debe coincidir con una de las entradas de destinatario configuradas para el autorizador. API Gateway valida `client_id` solo si `aud` no está presente. Cuando `aud` y `client_id` están presentes, API Gateway evalúa `aud`. 

También puede decodificar un JWT y comprobar que coincida con el emisor, el destinatario y los ámbitos que requiere su API. El sitio web [jwt.io](https://jwt.io/) puede depurar JWT en el navegador. OpenID Foundation mantiene una [lista de bibliotecas para trabajar con JWT](https://openid.net/developers/jwt-jws-jwe-jwk-and-jwa-implementations/). 

Para obtener más información acerca de los autorizadores de JWT, consulte [Control del acceso a API HTTP con autorizadores de JWT en API Gateway](http-api-jwt-authorizer.md).