Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Berikut ini memberikan saran pemecahan masalah untuk kesalahan dan masalah yang mungkin Anda temui saat menggunakan otorisasi JSON Web Token (JWT) dengan API HTTP.
Masalah: API saya kembali 401
{"message":"Unauthorized"}
Periksa www-authenticate
header dalam respons dari API.
Perintah berikut digunakan curl
untuk mengirim permintaan ke API dengan otorisasi JWT yang digunakan $request.header.Authorization
sebagai sumber identitasnya.
$
curl -v -H "Authorization:token
" https://api-id
.execute-api.us-west-2.amazonaws.com/route
Respons dari API termasuk www-authenticate
header.
...
< 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"}}
Dalam hal ini, www-authenticate
header menunjukkan bahwa token tidak dikeluarkan untuk audiens yang valid. Agar API Gateway dapat mengotorisasi permintaan, JWT aud
atau client_id
klaim harus cocok dengan salah satu entri audiens yang dikonfigurasi untuk otorisasi. API Gateway client_id
hanya memvalidasi jika tidak aud
ada. Saat keduanya aud
dan client_id
ada, API Gateway mengevaluasi. aud
Anda juga dapat memecahkan kode JWT dan memverifikasi bahwa JWT cocok dengan penerbit, audiens, dan cakupan yang dibutuhkan API Anda. Situs web jwt.io
Untuk mempelajari selengkapnya tentang otorisasi JWT, lihat. Kontrol akses HTTP APIs dengan JWT otorisasi di API Gateway