Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Risoluzione dei problemi relativi ai provider di autorizzazioni JWT per API HTTP
Di seguito viene fornita una consulenza per la risoluzione dei problemi relativi agli errori che potrebbero verificarsi quando si utilizzano i provider di autorizzazioni JSON Web Token (JWT) con API HTTP.
Problema: la mia API restituisce 401
{"message":"Unauthorized"}
Controlla l'intestazione www-authenticate
nella risposta dell'API.
Il comando seguente utilizza curl
per inviare una richiesta a un'API con un autorizzatore JWT che utilizza $request.header.Authorization
come origine identità.
$
curl -v -H "Authorization:token
" https://api-id
.execute-api.us-west-2.amazonaws.com/route
La risposta dell'API include un'intestazione 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"}}
In questo caso, l'intestazione www-authenticate
mostra che il token non è stato emesso per un pubblico valido. Per consentire ad API Gateway di autorizzare una richiesta, la richiesta aud
o client_id
di JWT deve corrispondere a una delle voci destinatario configurate per il provider di autorizzazioni. API Gateway viene convalidato client_id
solo se non aud
è presente. Quando entrambi aud
client_id
sono presenti, API Gateway valuta. aud
Puoi anche decodificare un JWT e verificare che corrisponda all'emittente, al pubblico e agli ambiti richiesti dall'API. Il sito web jwt.io
Per ulteriori informazioni sui provider di autorizzazioni JWT, consulta Controlla l'accesso HTTP APIs con gli JWT autorizzatori in API Gateway.