我正在开发一个 react native 应用程序,它使用 aws-amplify 与 amazon cognito 进行交互。在我的用例中,我需要确保自定义属性的值在所有帐户中都是唯一的。 aws-amplify 似乎没有允许我通过自定义属性搜索所有帐户的 API。我怎样才能做到这一点?
最佳答案
不幸的是,您无法单独使用 Cognito:
Custom attributes are not searchable. This is because only indexed attributes are searchable, and custom attributes cannot be indexed.
您唯一的选择是保留您自己的数据库,将用户与属性值相关联,并在其中强制执行唯一性。例如,在 DynamoDB 中,您将记录用户的 sub
(唯一的 Cognito 身份)和自定义属性的值作为相应的排序/分区键,确保普通的 Cognito 客户端只能读取 自定义属性,并提供您自己的 API(lambda + api-gateway)以尝试添加/更新表并使用 cognito Admin API 更新用户的“只读”自定义属性。
关于javascript - 按自定义属性搜索亚马逊 Cognito 用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53293080/