gpt4 book ai didi

amazon-web-services - 如何使用无服务器部署没有身份源的 API 网关自定义授权方?

转载 作者:行者123 更新时间:2023-12-05 03:54:03 27 4
gpt4 key购买 nike

我正在尝试使用无服务器框架在 API Gateway 中创建自定义 lambda 授权方。

我的服务的客户端可以发送“授权”或“X-自定义” header (但不能同时发送)。所以我需要的是一个没有身份源的自定义授权方。

serverless YAML截图如下:

functions:
create:
handler: posts.create
events:
- http:
path: posts/create
method: post
authorizer:
arn: xxx:xxx:Lambda-Name
resultTtlInSeconds: 0
type: request
integration: lambda
cors: true
request:
template:
application/json: '{"method": "$context.httpMethod","body" : $input.json("$"),"headers": {#foreach($param in $input.params().header.keySet())"$param": "$util.escapeJavaScript($input.params().header.get($param))" #if($foreach.hasNext),#end#end},"queryParams": {#foreach($param in $input.params().querystring.keySet())"$param": "$util.escapeJavaScript($input.params().querystring.get($param))" #if($foreach.hasNext),#end#end},"pathParameters": {#foreach($param in $input.params().path.keySet())"$param": "$util.escapeJavaScript($input.params().path.get($param))" #if($foreach.hasNext),#end#end}}'

我正在使用以下请求模板,以便我的 lambda 获取 header 并可以执行验证:

{"method": "$context.httpMethod","body" : $input.json("$"),"headers": {#foreach($param in $input.params().header.keySet())"$param": "$util.escapeJavaScript($input.params().header.get($param))" #if($foreach.hasNext),#end#end},"queryParams": {#foreach($param in $input.params().querystring.keySet())"$param": "$util.escapeJavaScript($input.params().querystring.get($param))" #if($foreach.hasNext),#end#end},"pathParameters": {#foreach($param in $input.params().path.keySet())"$param": "$util.escapeJavaScript($input.params().path.get($param))" #if($foreach.hasNext),#end#end}}

问题是,当我运行无服务器部署命令时,授权方是使用“授权”身份资源创建的。

我的代码基于以下资源:

这引出了两个问题:

  1. 无服务器框架的构造版本是什么用于部署我的授权方?
  2. 如何指定自定义授权方没有资源?

最佳答案

这对我有用。

  identitySource: '',
resultTtlInSeconds: 0 // You have to set this to 0.

希望这能让人们免去我刚刚经历的痛苦! :P

关于amazon-web-services - 如何使用无服务器部署没有身份源的 API 网关自定义授权方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61326554/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com