我希望外部网站(在我的控制之下)将项目插入我的AWS dynamoDb表中。
我已经考虑过将AWS API网关与AWS Lambda一起使用,但是我不确定如何在外部服务器和我的AWS托管应用程序之间实现身份验证。
听起来不错吗?您还有其他方法吗?
谢谢!
您的方法对我来说听起来很好。您可以将API Gateway与Lambda代理一起使用,以在DynamoDB中插入记录。我认为这是一个非常常见的体系结构。每当我使用我使用的AWS寻找有关SW体系结构的想法时,都可以在此处看到示例(https://www.youtube.com/watch?v=rRvy5Fbei1s):
关于也依赖于外部调用者的身份验证,例如,如果您具有JWT或JWK,则可以将其传递到标头中的网关并使用lambda对其进行验证:
https://aws.amazon.com/this-is-my-architecture希望这会有所帮助
您也可以使用此:const AWS = require('aws-sdk');
const jwt = require('jsonwebtoken');
exports.handler = async (event) => {
let token = jwt.decode(event.headers.Authorization);
console.log("Token information: " + JSON.stringify(token));
// You can also validate the JWT signature,
// expiration time, sub etc..
// and then perform the dynamoDB inserts...
};
添加这样的自定义标头: