Goで取得してみます。
APIGatewayの統合リクエストで Lambdaプロキシ統合の使用 にチェックを入れてください。
Go側では、github.com/aws/aws-lambda-go/events
の events.APIGatewayProxyRequest
で受け取ります。
下記のように取れます。
func handler(ctx context.Context, req events.APIGatewayProxyRequest) (*events.APIGatewayProxyResponse, error) {
claims := req.RequestContext.Authorizer["claims"].(map[string]interface{})
res := &events.APIGatewayProxyResponse{
StatusCode: 200,
Body: claims["cognito:username"].(string),
}
return res, nil
}
func main() {
lambda.Start(handler)
}