我当前的堆栈是这样的:
- 用户通过 AWS Cognito 创建账户
- 触发后确认 lambda,然后将更多用户详细信息添加到数据库
我的数据库使用sub
cognito 生成的 id 作为 userId,所以它们是相同的。我还将电子邮件地址复制为数据库中的用户名。我的意图是使用 Cognito 进行身份验证,并使用我自己的数据库来实现我的应用程序的功能。
但是,如果用户希望更新他们的电子邮件地址,我需要在 cognito 和我的数据库中进行修改。我第一次尝试使用我的 lambda 调用 cognito,admin_update_user_attributes
但很快意识到它被阻止向 Internet 进行外部调用,所以我创建了一个 nat 网关,它可以工作,但它的成本太高了!
我的第二个想法是通过 cognito,让我的前端拨打电话,然后让 cognito 触发 lambda 来更新我的数据库,但我认为这是不可能的。
是否有配置或我缺少的东西能够通过 API 网关通过 lambda 访问 AWS cognito,因为它们都是 AWS 服务。
我不想通过我的前端进行两个单独的调用,因为这会产生一个完成而不是另一个完成的风险。
谢谢