[英]Internal server error AWS API Gateway with custom authorizer
I am trying to protect a lambda function using a custom authorizer (which validates a jwt) on AWS API Gateway.我正在尝试使用 AWS API Gateway 上的自定义授权方(验证 jwt)来保护 lambda 函数。 I also want to pass any
queryStringParameters
into my lambda function, so I want to keep my Integration request to be Lambda Proxy.我还想将任何
queryStringParameters
传递到我的 lambda 函数中,因此我想将我的集成请求保留为 Lambda 代理。
The custom authorizer is set, tested and working自定义授权器已设置、测试和工作
Problem:问题:
When I call this endpoint (after deploying), I receive a HTTP 500
response.当我调用此端点时(部署后),我收到
HTTP 500
响应。
{
"message": "Internal server error"
}
When I remove my custom authorizer OR deselect the lambda Proxy integration, I receive a normal output from my lambda当我删除自定义授权方或取消选择 lambda 代理集成时,我会收到来自 lambda 的正常输出
def lambda_handler(event, context):
return {
'status': 400,
'body' : json.dumps('hello World'),
'headers': {
'Access-Control-Allow-Origin': "*"
},
'isBase64Encoded': 'false'
}
Has anyone come across this?有没有人遇到过这个? AWS documentation on this issue is sparse :/
关于此问题的 AWS 文档很少:/
Thank you!谢谢!
I'm hitting myself in the head after this.在这之后我正在打自己的头。 The reason is because of what my lambda function was returning.
原因是因为我的 lambda 函数返回了什么。 It should've been
应该是
def lambda_handler(event, context):
return {
'statusCode': 400,
...
As opposed to与
def lambda_handler(event, context):
return {
'status': 400,
...
If the AWS docs were better/i wasn't as obtuse :D如果 AWS 文档更好/我没有那么迟钝:D
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.