Amazon dynamodb 如何在DB中存储AWS Cognito用户池用户(例如DynamoDB)?

Amazon dynamodb 如何在DB中存储AWS Cognito用户池用户(例如DynamoDB)?,amazon-dynamodb,identityserver4,amazon-cognito,aws-userpools,Amazon Dynamodb,Identityserver4,Amazon Cognito,Aws Userpools,在我看来,“AWS Cognito”是“AWS的IdentityServer”。我通过注册API调用创建了一个POC用户。用户在AWS Cognito用户池中创建,并返回访问令牌。然而,为了将事情联系起来,我想在DynamoDB的用户表中创建用户,而不是在用户池中创建用户 预期情景: 1) 新用户-->注册-->AWS Cognito-->在DynamoDB中添加新用户记录-->AWS Cognito返回访问令牌 2) 现有活动用户-->登录-->AWS Cognito-->从DynamoDB检

在我看来,“AWS Cognito”是“AWS的IdentityServer”。我通过注册API调用创建了一个POC用户。用户在AWS Cognito用户池中创建,并返回访问令牌。然而,为了将事情联系起来,我想在DynamoDB的用户表中创建用户,而不是在用户池中创建用户

预期情景:

1) 新用户-->注册-->AWS Cognito-->在DynamoDB中添加新用户记录-->AWS Cognito返回访问令牌

2) 现有活动用户-->登录-->AWS Cognito-->从DynamoDB检索用户详细信息-->访问令牌由AWS Cognito返回

Qn-1:类似于在SQLServerDB表中创建IdentityServer用户。这可以在AWS Cognito中完成吗?是否可以绕过用户池并从数据库获取用户数据?即使不绕过,用户池是否可以从DB表映射其用户

Qn-2:用户池用户存储在哪里?在数据库的某个地方

注:以下问题与我的问题类似,但尚未得到回答:


在您的场景中,无法绕过用户池。但是,您可以将用户映射到dynamoDB,甚至可以使用。要使用此策略,必须构造DynamoDB表,以便Cognito用户ID是分区键

只需在注册和登录后添加lambda触发器,即可将用户添加到dynamoDB。添加除密码之外的任何内容,因为您可以使用cognito进行身份验证,然后通过cognito ID限制行访问


至于问题的第二部分,cognito有自己的内部表。AWS并没有具体说明它们使用的是什么,但我猜这是NoSQL,因为自定义属性的灵活性

谢谢,让我试试。我可以知道AWS最终在用户池中存储用户的位置吗?在数据库中?我们是否可以在用户池本身(而不是数据库)中存储额外的自定义用户信息,即pin码?Cognito将用户存储在内部表中。AWS并没有详细说明这一点,但它可能是一个NoSQL表。是的,您可以在userpool中添加自定义属性。当您打开用户池设置时,可以在aws控制台的属性下找到此设置。如果您需要经常检索此数据或希望作为管理员执行一些分析,最好使用dynamoDB。如果您只想在用户登录时存储和检索,那么您可以使用cognito池存储。但这将是dynamoDB上的一个简单的添加和检索操作,因此不会失败。试一下。当然,让我试试。非常感谢:)