当前位置: 首页 > 知识库问答 >
问题:

内部服务器错误带有自定义授权程序的AWS API网关

阎阎宝
2023-03-14

我试图在AWS API网关上使用自定义授权器(它验证jwt)来保护lambda函数。我还想将任何querystringparameters传递到我的lambda函数中,因此我想保持我的集成请求是lambda代理。

自定义授权程序已设置、测试并开始工作

问题:

{
    "message": "Internal server error"
}
def lambda_handler(event, context):
    return {
        'status': 400,
        'body' : json.dumps('hello World'),
        'headers': {
            'Access-Control-Allow-Origin': "*"
        },
        'isBase64Encoded': 'false'
    }

谢谢你!

共有1个答案

长孙知
2023-03-14

在这之后我会打自己的头。原因是我的lambda函数返回的内容。本来应该是

def lambda_handler(event, context):
    return {
        'statusCode': 400,
        ...

与…相反

def lambda_handler(event, context):
    return {
        'status': 400,
     ...

如果AWS的文件更好/我不是那么迟钝:D

 类似资料:
  • 这个问题有什么解决办法吗?

  • 我是API网关的新手。我尝试使用“自定义授权程序”。我遵循了下面的文档,并使用了网站提供的示例代码。https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html “令牌类型的lambda授权者”是工作的。 但是... 我对“请求类型”感到困惑,不知道如何将quer

  • Mono Apr 10 09:42:35 UTC 2017:转换后的endpoint请求主体:{“Type”:“Token”,“AuthorizationToken”:“ABC123”,“MethodArn”:“arn:aws:execute-api:ap-southeast-1:007183653813:OHLQXU9P57/null/Get/”}Mono Apr 10 09:42:36 UTC

  • 但是看起来在我的lambda响应和API网关之间发生了一些奇怪的事情, 变量在内部的某个地方被压缩得更低, 而我仍然得到了相同的解析错误, 它会接受其他格式的响应吗?字符串也不起作用。 我还应该尝试什么?我的策略格式错误吗? 我从这些站点获得了两种不同的策略格式- 1。http://docs.aws.amazon.com/apigateway/latest/developerguide/use-c

  • 我使用spring ide在本地机器嵌入式apache服务器上部署了spring boot web应用程序,并访问了一个带有错误令牌的url,在这种情况下,它会返回未经授权的访问错误401和托管异常处理抛出的特定错误消息,而如果我在独立但相同的apache服务器上部署相同的应用程序,它会给我500个内部服务器错误而不是401或任何其他服务器端错误。 我捕获的日志只有以下一行不同: 下面是我用来处理

  • 我正在尝试使用无服务器框架在API网关中创建一个自定义的lambda授权器。 null null