aws / aws/serverless-java-container

Unable to invoke lambda when "Authorization scopes" added to JWT Authorizer

Abierto
#408 2 comentarios 0 reacciones 0 asignados Ver en GitHub
need feedback
Lenguaje dominante
Java
Estrellas
1.6k
Forks
574
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

*Serverless Java Container version*: `eg. 1.5.2`

*Implementations:* `Spring Boot 2`

*Framework version:* `eg SpringBoot 2.4.1`

*Frontend service:* `HTTP API`

*Deployment method:* `SAM`

## Scenario
*Describe what you are trying to accomplish*
I am trying to call invoke lambda via HTTP api with JWT authorizer. call to lambda are failing when i add "Authorization scopes" in the JWT authorizer(on HTTP api)

## Expected behavior
I would expect lambda should be able to be invoke with or without Authorization scopes in JWT authorizer

## Actual behavior
I am trying to call invoke lambda via HTTP api with JWT authorizer. call to lambda are failing when i add "Authorization scopes" in the JWT authorizer(on HTTP api) with error message

```com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.lang.String` out of START_ARRAY token
at [Source: (ByteArrayInputStream); line: 1, column: 3530] (through reference chain: com.amazonaws.serverless.proxy.model.AwsProxyRequest["requestContext"]->com.amazonaws.serverless.proxy.model.AwsProxyRequestContext["authorizer"]->com.amazonaws.serverless.proxy.model.ApiGatewayAuthorizerContext["scopes"])```

but without "Authorization scopes" in the JWT authorizer(on HTTP api) calls were going fine as long JWT is valid

## Steps to reproduce
Create a springboot 2 based AWS lambda with HTTP api and Authorization scope with scopes specified in it.

InputStream of call when Authorization scope is added contains a section with Scopes array but same is null when Authorization scope is not defined in JWT Authorizer in HTTP API

"scopes": [
"b",
"a",
"z",
"y",
"x"
]

InputStream of call when Authorization scope is not added

"scopes": null

## Full log output
*Paste the full log output from the Lambda function's CloudWatch logs*

```
logs
```

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.