HTTP API JWT 권한 부여자 관련 문제 해결 - Amazon API Gateway

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

HTTP API JWT 권한 부여자 관련 문제 해결

다음은 HTTP API에서 JSON Web Token(JWT) 권한 부여자를 사용할 때 발생할 수 있는 오류 및 문제에 대한 문제 해결 조언을 제공합니다.

문제: 내 API가 401 {"message":"Unauthorized"}를 반환합니다.

API의 응답에서 www-authenticate 헤더를 확인합니다.

다음 명령은 curl을 사용하여 $request.header.Authorization을 ID 소스로 사용하는 JWT 권한 부여자를 통해 API에 요청을 보냅니다.

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

API의 응답에는 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"}}

이 경우 www-authenticate 헤더는 유효한 대상에게 토큰이 발급되지 않았음을 나타냅니다. API Gateway에서 요청을 승인하려면 JWT의 aud 또는 client_id 클레임이 권한 부여자에 대해 구성된 대상 항목 중 하나와 일치해야 합니다. API aud Gateway는 존재하지 않는 client_id 경우에만 유효성을 검사합니다. audclient_id 가 모두 있는 경우 API Gateway는 평가합니다aud.

JWT를 디코딩하고 API에 필요한 발행자, 대상 및 범위와 일치하는지 확인할 수도 있습니다. 웹사이트 jwt.io는 브라우저에서 JWT를 디버깅할 수 있습니다. OpenID Foundation에는 JWT 작업을 위한 라이브러리 목록이 포함되어 있습니다.

JWT 권한 부여자에 대한 자세한 내용은 JWT 권한 부여자를 사용하여 HTTP API에 대한 액세스 제어 단원을 참조하세요.