You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

API Gateway自定义Python授权器(Payload2.0)格式错误排查

解决API Gateway自定义Python授权器(Payload 2.0)响应格式错误问题

核心问题

你忽略了Payload 2.0简单响应模式的顶层结构要求——API Gateway期望的响应是一个包含response字段的JSON对象,而非直接返回isAuthorized字段。

正确的两种写法

写法1:返回序列化后的JSON字符串

必须把isAuthorized嵌套在response对象中再序列化:

import json

def lambda_handler(event, context):
    auth_response = {
        "response": {
            "isAuthorized": True
        }
    }
    return json.dumps(auth_response)

写法2:直接返回Python字典(Lambda自动序列化)

同样要遵循顶层response的结构要求:

def lambda_handler(event, context):
    return {
        "response": {
            "isAuthorized": True
        }
    }

之前写法失败的原因

  • 第一种写法:直接序列化{isAuthorized:True},缺少API Gateway要求的顶层response字段,导致服务端无法识别授权结果
  • 第二种写法:直接返回{"isAuthorized": True},不符合Payload 2.0的结构规范,被判定为格式错误

额外注意事项

  • 确保Lambda运行时(如Python 3.x)配置正常,避免序列化时出现编码或格式异常
  • 后续若需添加自定义上下文信息(如context字段),也要嵌套在response对象内

内容的提问来源于stack exchange,提问作者SerialEnabler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 05:35:22