Skip to content

Commit 274a9c0

Browse files
committed
Update AppSync Lambda authorisation request/response schema
See https://docs.aws.amazon.com/appsync/latest/eventapi/configure-event-api-auth.html#aws-lambda-authorization for documentation on the `requestHeaders` on incoming request and `handlerContext` on the response.
1 parent 71624ac commit 274a9c0

3 files changed

Lines changed: 9 additions & 0 deletions

File tree

events/appsync.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ const (
4545
type AppSyncLambdaAuthorizerRequest struct {
4646
AuthorizationToken string `json:"authorizationToken"`
4747
RequestContext AppSyncLambdaAuthorizerRequestContext `json:"requestContext"`
48+
RequestHeaders map[string]string `json:"requestHeaders"`
4849
}
4950

5051
// AppSyncLambdaAuthorizerRequestContext contains the parameters of the AppSync invocation which triggered
@@ -61,6 +62,7 @@ type AppSyncLambdaAuthorizerRequestContext struct {
6162
// AppSyncLambdaAuthorizerResponse represents the expected format of an authorization response to AppSync.
6263
type AppSyncLambdaAuthorizerResponse struct {
6364
IsAuthorized bool `json:"isAuthorized"`
65+
HandlerContext map[string]string `json:"handlerContext,omitempty"`
6466
ResolverContext map[string]interface{} `json:"resolverContext,omitempty"`
6567
DeniedFields []string `json:"deniedFields,omitempty"`
6668
TTLOverride *int `json:"ttlOverride,omitempty"`

events/testdata/appsync-lambda-auth-request.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,8 @@
77
"queryString": "mutation CreateEvent {...}\n\nquery MyQuery {...}\n",
88
"operationName": "MyQuery",
99
"variables": {}
10+
},
11+
"requestHeaders": {
12+
"header": "value"
1013
}
1114
}

events/testdata/appsync-lambda-auth-response.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
{
22
"isAuthorized": true,
3+
"handlerContext": {
4+
"banana": "very yellow",
5+
"apple": "very green"
6+
},
37
"resolverContext": {
48
"banana": "very yellow",
59
"apple": "very green"

0 commit comments

Comments
 (0)