gpt4 book ai didi

amazon-web-services - 在 Cognito 或 AppSync 中存储用户属性?

转载 作者:行者123 更新时间:2023-12-05 00:57:08 26 4
gpt4 key购买 nike

我正在使用 AWS Amplify,我想知道最好将用户属性存储为自定义 Cognito 属性还是存储在 AppSync 的用户表中?

认知方法:

'username': 'jdoe',
'password': 'mysecurepassword#123',
'attributes': {
'email': 'me@domain.com',
'phone_number': '+12135555555',
'custom:favorite_flavor': 'Cookie Dough' // custom attribute, not standard
}
  • 优点:单一事实来源
  • 缺点:不是 API 的一部分

AppSync 方法:

type User 
@model
@auth(
rules: [
{allow: owner, ownerField: "owner", operations: [create, update, delete, read]},
])
{
id: ID!
owner: String
favoriteFlavor: String
}
  • 优点: API 的所有功能
  • 缺点:每个人都有两个“用户”(一个 Cognito 用户和一个表用户)

如果 AppSync 方法最好,其他字段是否应该延续到表中(如姓名或电子邮件)?

谢谢!

最佳答案

根据我的经验,两者都用是最好的。

  1. 与已验证相关的字段(电子邮件、用户名、电话...),将其保存在 Cognito 和 DB 中。 1 Cognito 自定义属性“custom:id”与数据库中的用户“id”进行映射。
  2. 其他属性,保存到数据库更灵活。因为无法搜索到 cognito 自定义属性,并且 Cognito APIs Limit(每秒请求数)不适合定期使用:https://docs.aws.amazon.com/cognito/latest/developerguide/limits.html ,所以从数据库中保存和获取更好。
  3. 当用户更新与认证相关的字段时,您必须同时在 Cognito 和 DB 上进行更新。

希望对您有所帮助。

关于amazon-web-services - 在 Cognito 或 AppSync 中存储用户属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61101788/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com