gpt4 book ai didi

amazon-web-services - 从自定义授权方 Lambda 函数访问 POST 请求正文

转载 作者:行者123 更新时间:2023-12-04 02:06:48 33 4
gpt4 key购买 nike

我在 AWS 中配置了一个自定义授权 lambda 函数,用于将 API 配置为具有 POST 资源的另一个 Lambda 函数。

授权人设置为类型 Request ,而不是 Token ,因为我没有在 Authorization header 中使用 token ,而是想要访问正在发布的表单数据。

当我检查 event 的内容时我的授权函数的参数,我没有看到任何原始 POST请求正文(表单数据)。但是,如果我将资源更改为 GET , 我在 queryStringParameters 中看到表单数据正如预期的那样。

(请注意,当请求为 POST 时,queryStringParameters 始终为空对象)

当使用 POST 时,是否可以从函数中的请求中访问表单数据?方法?

这是 event 的示例使用 POST 时,授权函数的参数将包含:

{
type: 'REQUEST',
methodArn: 'arn:aws:execute-api:us-east-1:********:********/dev/POST/receive',
resource: '/receive',
path: '/sms/receive',
httpMethod: 'POST',
headers: {
Accept: '*/*',
'CloudFront-Viewer-Country': 'US',
'CloudFront-Forwarded-Proto': 'https',
'CloudFront-Is-Tablet-Viewer': 'false',
'CloudFront-Is-Mobile-Viewer': 'false',
'User-Agent': 'TwilioProxy/1.1',
'X-Forwarded-Proto': 'https',
'CloudFront-Is-SmartTV-Viewer': 'false',
Host: 'api.myredactedcompany.io',
'X-Forwarded-Port': '443',
'X-Amzn-Trace-Id': 'Root=**************',
Via: '1.1 ***************.cloudfront.net (CloudFront)',
'Cache-Control': 'max-age=259200',
'X-Twilio-Signature': '***************************',
'X-Amz-Cf-Id': '****************************',
'X-Forwarded-For': '[redacted IP addresses]',
'Content-Length': '492',
'CloudFront-Is-Desktop-Viewer': 'true',
'Content-Type': 'application/x-www-form-urlencoded'
},
queryStringParameters: {},
pathParameters: {},
stageVariables: {},
requestContext: {
path: '/sms/receive',
accountId: '************',
resourceId: '*****',
stage: 'dev',
requestId: '5458adda-ce2c-11e7-ba08-b7e69bc7c01c',
identity: {
cognitoIdentityPoolId: null,
accountId: null,
cognitoIdentityId: null,
caller: null,
apiKey: '',
sourceIp: '[redacted IP]',
accessKey: null,
cognitoAuthenticationType: null,
cognitoAuthenticationProvider: null,
userArn: null,
userAgent: 'TwilioProxy/1.1',
user: null
},
resourcePath: '/receive',
httpMethod: 'POST',
apiId: '*******'
}
}

最佳答案

根据 this answer对于类似的问题,似乎没有向自定义授权者提供正文。文档 here没有列出正文参数。我认为可能的想法是授权者应该依赖路由和 header ,而不是进入应用程序级的正文数据。

关于amazon-web-services - 从自定义授权方 Lambda 函数访问 POST 请求正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47400447/

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