diff --git a/aws_lambda_powertools/utilities/parser/models/apigwv2.py b/aws_lambda_powertools/utilities/parser/models/apigwv2.py index 3be793dd951..8f0f8dbf50c 100644 --- a/aws_lambda_powertools/utilities/parser/models/apigwv2.py +++ b/aws_lambda_powertools/utilities/parser/models/apigwv2.py @@ -25,7 +25,7 @@ class RequestContextV2AuthorizerIam(BaseModel): class RequestContextV2AuthorizerJwt(BaseModel): claims: Dict[str, Any] - scopes: List[str] + scopes: Optional[List[str]] = None class RequestContextV2Authorizer(BaseModel): diff --git a/tests/unit/parser/test_apigwv2.py b/tests/unit/parser/test_apigwv2.py index 9ffc7f525bc..b52bad28b40 100644 --- a/tests/unit/parser/test_apigwv2.py +++ b/tests/unit/parser/test_apigwv2.py @@ -63,6 +63,13 @@ def test_apigw_v2_event_jwt_authorizer(): assert parsed_event.stageVariables == raw_event["stageVariables"] +def test_apigw_v2_event_empty_jwt_scopes(): + raw_event = load_event("apiGatewayProxyV2Event.json") + raw_event["requestContext"]["authorizer"]["jwt"]["scopes"] = None + + APIGatewayProxyEventV2Model(**raw_event) + + def test_api_gateway_proxy_v2_event_lambda_authorizer(): raw_event = load_event("apiGatewayProxyV2LambdaAuthorizerEvent.json") parsed_event: APIGatewayProxyEventV2Model = APIGatewayProxyEventV2Model(**raw_event)