有人可以提供一些指导如何读取和写入此链接中提到的DeveloperOnlyAttribute吗?
我已经使用 Cloudformation 创建了这个属性,并且在 Cognito 控制台中,自定义属性被创建为custom:dev:custom:paid_user. 如果我对DeveloperOnlyAttribute目的的理解是正确的,我的用例是,一旦用户为应用程序付费,我将拥有一个后端 Lambda 函数来更改此属性。用户自己将无权更改此属性。正确的?
谢谢。
2020/07 更新
该AWS文档已经更新了这一行:
我们建议您在用户池客户端中使用 WriteAttributes 来控制如何为新用例更改属性,而不是使用 DeveloperOnlyAttribute。
我的用例场景是用户可以查看某些属性,但不能编辑。示例paid_user属性,付款后,系统将更新此属性;并且用户永远无法自己编辑此属性。
我为我的案例所做的是将这些属性设置为non-writtable属性。用户将无法编辑这些属性,但使用adminUpdateUserAttributes()我仍然可以更新它们
AWS 文档中关于此的信息几乎为零,但这是我通过自我测试发现的信息。
可变的 DeveloperOnlyAttributes:
dev:custom他们的前缀,除了在AWS控制台,其中前缀是custom:dev:custom。因此,在您使用 apis 的情况下,您应该将该属性称为dev:custom:paid_usergetUser(),无论是否使用开发人员凭据调用adminGetUser()。调用此 api 需要开发人员凭据adminUpdateUserAttributes()。调用此 api 需要开发人员凭据updateUserAttributes(),无论它被称为与开发商凭证或不重新阅读最后一篇。您不需要开发人员凭据即可写入 DeveloperOnlyAttribute。用户可以使用他们的用户名/密码登录,然后调用updateUserAttributes()以更改在用户池中的条目上定义的任何 DeveloperOnlyAttributes。至少这就是我的测试所表明的,希望其他人尝试一下并验证/反驳这种行为。
如果 Cognito 有一个公共错误跟踪器,它就会去那里。
使用风险自负。
2020/05 更新:
AWS Cognito 此后私下联系我说他们解决了上述安全问题。
| 归档时间: |
|
| 查看次数: |
506 次 |
| 最近记录: |