Résolution des problèmes liés aux mécanismes d'autorisation JWT pour les API HTTP - APIPasserelle Amazon

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

La section suivante fournit des conseils de dépannage pour les erreurs et problèmes que vous pouvez rencontrer en utilisant des mécanismes d'autorisation JSON Web Token (JWT) avec des API HTTP.

Problème : Mon API renvoie 401 {"message":"Unauthorized"}

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 client_id ne valide que s'il n'audest pas présent. Lorsque aud les deux 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 jwt.io peut déboguer des JWT dans le navigateur. L’OpenID Foundation gère également une liste de bibliothèques pour travailler avec des JWT.

Pour de plus amples informations sur les mécanismes d'autorisation JWT, veuillez consulter Contrôlez l'accès à l'HTTPAPIsaide des JWT autorisateurs dans Gateway API.