【问题标题】:Integrate cognito and dynamoDB table集成 cognito 和 dynamoDB 表
【发布时间】:2020-05-01 06:40:03
【问题描述】:

基本上这是我使用 aws cognito 服务作为应用程序的 id 服务器的场景,并且我有一些发电机表来保存其中一些用户。

当我在认知池中删除同一个用户时,我需要删除那些 dynamoDB 表上的用户

这是工作流程。

  1. 用户在 cognito 上被删除。
  2. Lambda 或任何适当的服务侦听事件触发器。
  3. Lambda 或任何适当的服务从 dynamoDB 表中删除用户。

我正在阅读 aws 的文档和其他人关于 stackoverflow、Triggering a Lambda function upon deleting a user on AWS Cognito User PoolAmazon Cognito Delete account 的问题,我意识到 cognito 没有删除事件的特定触发器。

我怎样才能实现所描述的工作流程?

提前致谢。

【问题讨论】:

  • 您对 AWS 服务有任何限制吗?您无法使用 cognito 池进行开箱即用的操作。
  • 感谢您的回复@SamRastovich,不,我没有任何限制,如何使用认知池来做到这一点?我是 aws 世界的新手

标签: amazon-web-services amazon-dynamodb amazon-cognito


【解决方案1】:

很遗憾,Amazon Cognito 不支持开箱即用。您必须结合其他 Amazon 服务编写自己的解决方案。

有很多方法可以实现这一点,但我们在应用程序中做了一件事:

首先,创建您自己的 API 端点,例如:DELETE /user。你可以用API Gateway来做到这一点

其次,将您的 API 端点连接到 Lambda 函数,或在其他地方托管您的代码,但您需要使用您的代码调用 Cognito 用户池 API 并像这样将其删除。这是如何在 NodeJS 中完成的 sn-p

const AWS = require('aws-sdk');
AWS.config.update({
  accessKeyId: 'access key id',
  secretAccessKey: 'secret access key',
  region: 'region',
});
const cognito = new AWS.CognitoIdentityServiceProvider();

await cognito.adminDeleteUser({
  UserPoolId: 'pool id',
  Username: 'username',
}).promise();

(有关如何使用代码删除用户的完整答案,请查看stack overflow question out

【讨论】:

  • 谢谢,我会尝试使用这种方法
猜你喜欢
  • 2021-04-25
  • 2021-06-23
  • 1970-01-01
  • 2019-03-26
  • 1970-01-01
  • 2020-08-27
  • 2023-03-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多