我目前的情况:我在S3 / CloudFront上有一个React网站,使用API网关作为后端 . 该站点使用aws amplify库来帮助验证AWS Cognito用户池 . 我有一个API网关授权程序设置来授权Cognito用户池 .

我的目标:为希望将API集成到代码中的用户生成API密钥/秘密 . 然后,用户可以使用提供密钥/秘密的http请求从他们自己的代码中获取支持网站的API endpoints . 也许使用API网关生成的SDK,如果这有助于签署带有秘密的消息(如果这甚至是如何工作) .

我的问题:API网关可以生成API密钥,但它看起来不像API网关支持秘密 . 即使我确实使用了内置的API密钥,我是否可以将同一API endpoints 与Cognito用户池和API密钥一起使用?密钥有限制,甚至应该用于用户API应用程序密钥?

在我的最终资源lambda中,我还依赖于客户端在头文件中传递accesstoken,这样我就可以正确地从congito获取用户名并在Dynamo中查找用户数据(我不认为你可以从cognito中获取用户名) IDToken) . 也许有办法解决这个问题 .