AWS API 网关自定义授权方不是 运行
AWS API Gateway Custom Authorizer not running
我创建了一个 Lambda 函数,我已根据我的 API 端点之一的方法请求将其配置为 'custom auth'。当我使用 AWS API 网关的 'test' 函数时,我在日志输出中看不到 Lambda 函数的任何输出。
我有 'deployed' API。
但是 发生了一些事情,因为当我使用配置的自定义域名访问 api 端点时,我得到
{"message":"Unauthorized"}
但是,如果我从此端点删除 'custom auth' 并命中相同的端点,它就可以工作!
我已经启用了 cloudwatch 日志记录,这似乎表明 没有 调用了 lambda 函数,但是 api 网关日志组下也没有任何内容,但是, 一定是有什么事情发生了,我就是看不到。
任何人都可以指出我如何调试它的方向吗?
- API 网关测试调用功能不会调用任何授权方,而是会直接调用您的集成。
- 您可以使用 API 网关控制台 "Authorizers" 选项卡中可用的授权方测试调用来独立测试 lambda 授权方。
- 您的 lambda 函数必须 return 包含主体标识符 (principalId) 的响应和包含策略语句列表的策略文档。
可以找到关于此的更详细的文档 here。
里蒂莎。
您可以通过 aws cli 添加权限,让您的授权方调用 lambda,我做到了并且效果很好!
aws --profile profile lambda add-permission \
--statement-id uuid \
--action lambda:InvokeFunction \
--function-name "arn:aws:lambda:$region:$accountId:function:functionName" \
--principal apigateway.amazonaws.com \
--source-arn "arn:aws:execute-api:$region:$accountId:$apigateway_id/authorizers/$authorizerId"
我创建了一个 Lambda 函数,我已根据我的 API 端点之一的方法请求将其配置为 'custom auth'。当我使用 AWS API 网关的 'test' 函数时,我在日志输出中看不到 Lambda 函数的任何输出。
我有 'deployed' API。
但是 发生了一些事情,因为当我使用配置的自定义域名访问 api 端点时,我得到
{"message":"Unauthorized"}
但是,如果我从此端点删除 'custom auth' 并命中相同的端点,它就可以工作!
我已经启用了 cloudwatch 日志记录,这似乎表明 没有 调用了 lambda 函数,但是 api 网关日志组下也没有任何内容,但是, 一定是有什么事情发生了,我就是看不到。
任何人都可以指出我如何调试它的方向吗?
- API 网关测试调用功能不会调用任何授权方,而是会直接调用您的集成。
- 您可以使用 API 网关控制台 "Authorizers" 选项卡中可用的授权方测试调用来独立测试 lambda 授权方。
- 您的 lambda 函数必须 return 包含主体标识符 (principalId) 的响应和包含策略语句列表的策略文档。
可以找到关于此的更详细的文档 here。
里蒂莎。
您可以通过 aws cli 添加权限,让您的授权方调用 lambda,我做到了并且效果很好!
aws --profile profile lambda add-permission \
--statement-id uuid \
--action lambda:InvokeFunction \
--function-name "arn:aws:lambda:$region:$accountId:function:functionName" \
--principal apigateway.amazonaws.com \
--source-arn "arn:aws:execute-api:$region:$accountId:$apigateway_id/authorizers/$authorizerId"