

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Résolution des problèmes liés aux mécanismes d’autorisation JWT pour les API HTTP
<a name="http-api-troubleshooting-jwt"></a>

Vous trouverez ci-dessous des conseils de résolution des erreurs et des problèmes que vous pourriez rencontrer lors de l'utilisation des autorisateurs JSON Web Token (JWT) avec HTTP. APIs

## Problème : Mon API renvoie `401 {"message":"Unauthorized"}`
<a name="http-api-troubleshooting-jwt.unauthorized"></a>

Vérifiez l’en-tête `www-authenticate` dans la réponse de l’API.

La commande suivante utilise `curl` pour envoyer une demande à une API avec un mécanisme d’autorisation JWT qui utilise `$request.header.Authorization` comme source d’identité.

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

La réponse de l’API inclut un en-tête `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"}}
```

Dans ce cas, l’en-tête `www-authenticate` indique que le jeton n’a pas été émis pour un public ciblé approprié. Pour qu’API Gateway autorise une demande, la demande `aud` ou `client_id` de JWT doit correspondre à l’une des entrées de public ciblé configurées pour le mécanisme d’autorisation. API Gateway ne valide `client_id` que si `aud` n’est pas présent. Si `aud` et `client_id` sont présents, API Gateway évalue `aud`. 

Vous pouvez également décoder un JWT et vérifier qu’il correspond à l’émetteur, au public ciblé et aux portées dont votre API a besoin. Le site Web [jwt.io](https://jwt.io/) peut être JWTs débogué dans le navigateur. L'OpenID Foundation tient à jour une [liste de bibliothèques avec lesquelles travailler](https://openid.net/developers/jwt-jws-jwe-jwk-and-jwa-implementations/). JWTs 

Pour plus d’informations sur les mécanismes d’autorisation JWT, consultez [Contrôlez l'accès au HTTP APIs avec les autorisateurs JWT dans API Gateway](http-api-jwt-authorizer.md).