在我看来,“AWS Cognito”就是“AWS的IdentityServer”。我做了一个POC创建的用户通过注册API调用。在AWS Cognito用户池中创建用户,并返回访问令牌。但是,为了关联这些内容,我希望在DynamoDB的用户表中创建用户,而不是在用户池中创建用户。
预期场景:
1)新建用户-->注册--> AWS Cognito -->在DynamoDB中添加新用户记录--> AWS Cognito返回访问令牌
2)现有活动用户-->登录--> AWS Cognito -->从DynamoDB检索用户详细信息--> AWS Cognito返回访问令牌
Qn -1:类似于在SQL Server DB表中创建IdentityServer用户。这可以在AWS Cognito中完成吗?是否可以绕过用户池并从数据库获取用户数据?即使没有被绕过,用户池是否可以从DB表映射其用户?
Qn - 2:用户池用户存储在哪里?最终在数据库中的某个位置?
注意:以下问题看起来与我的相似,但尚未得到回答:
发布于 2019-04-03 13:31:13
在您的方案中无法绕过用户池。但是,您可以将用户映射到dynamoDB,甚至可以使用custom policy限制访问。要使用此策略,必须构造DynamoDB表,使Cognito用户ID成为分区键。
只需添加一个lambda触发器post,注册并登录,即可将用户添加到dynamoDB。添加除密码之外的任何内容,因为您可以使用cognito进行身份验证,然后通过cognito限制行访问。
至于你问题的第二部分,cognito有它自己的内部表。亚马逊网络服务没有具体说明他们使用的是什么,但我敢猜测,由于自定义属性的灵活性,它是NoSQL。
https://stackoverflow.com/questions/55487265
复制相似问题