dherault / dherault/serverless-offline

httpApi lambda authorizer context format incorrect

Open
#1,697 0 comments 4 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
5.3k
Forks
811
Avg merge
2d 4h
Merged PRs (30d)
3

Description

## Bug Report

The format returned from lambda authorizers with simple response is incorrect. What I get as event in subsequent lambdas are

```
{
...
requestContext: {
authorizer: {
// Context object passed from authorizer
jwt: ...
}
}
}
```
whereas the format in production should be
```
{
...
requestContext: {
authorizer: {
lambda: {
// Context from authorizer
}
}
}
}
```

**Sample Code**

- file: serverless.yml

```yaml
service: my-service

plugins:
- serverless-offline

provider:
runtime: nodejs18.x
stage: dev
httpApi:
authorizers:
- type: request
functionName: authorizer
payloadVersion: 2.0
enableSimpleResponses: true

functions:
authorizer:
handler: handler.main
hello:
events:
- httpApi:
method: get
path: /sample
authorizer:
name: some-name
handler: handler.hello
```

- file: authorizer.js

```js
exports.main = async () => {
return {
isAuthorized: true,
context: {
// whatever
}
}
}
```

- file: hello.js

```js
exports.hello = async (event) => {
console.log(event)
}
```

**Environment**

- `serverless` version: 3.30.1
- `serverless-offline` version: 12.0.4
- `node.js` version: 18.14
- `OS`: Windows 10

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.