amazon-cognito - 为用户定义每个用户的自定义范围

标签 amazon-cognito

如何使用cognito在每个用户的基础上定义自定义范围?

例如我有范围resource1.read,resource1.write

我希望用户A具有resource1.read和resource1.write,而用户B具有resource1.read only。

这只是一个高水平的例子。我们拥有大量不同的资源,并希望允许客户管理每个用户可以访问的资源。

我还没有找到一种将范围与每个单个用户相关联的方法,但是只能在每个池级别上进行。

是否可以仅使用cognito或cognito +一些AWS托管服务来实现此目的,还是我必须实现另一个API来自己管理范围?

最佳答案

我们找不到一种方法来使作用域在每个用户的基础上工作,因此最终我们改用了自定义属性。

如果您的范围小于25(认知最大限制),则每个范围可以使用一个属性。 P.S.请注意,除非您删除了整个池并重新开始,否则一旦设置好属性就无法重命名/删除该属性。

例如,您的属性可能如下所示:

custom:resource1.read : "true"
custom:resource1.write : "false"
custom:resource2.read : "true"
custom:resource2.write : "true"

这个想法很简单。我们没有在scopes数组中定义所有范围,而是在常规自定义属性中对其进行了定义。当代码检查范围时,只需遍历所有字段并找到带有正确前缀的字段即可。

关于amazon-cognito - 为用户定义每个用户的自定义范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57153613/

相关文章:

ios - AWS Cognito Credentials Provider for IOS - 访问 key 和 secret key 为零

javascript - 将 cognitoUser.authenticateUser 回调转换为 observable

ios - 自动验证 Amazon Cognito 用户池中的用户

amazon-web-services - 使用AWS Cognito(boto3)进行身份验证的示例

javascript - Amazon Cognito JS 身份验证流程不会发送用户迁移密码

amazon-web-services - 如何为 AWS Cognito 用户生成访问 token ?

amazon-web-services - 允许使用 Cognito 访问 S3 上的自定义前缀

swift - 将来自 Cognito 的用户信息与 AWS Amplify GraphQL 相关联

amazon-web-services - 具有 Dynamodb 细粒度访问权限的 IAM 策略条件中的 Cognito 用户池自定义属性

javascript - 使用 JavaScript SDK 的 AWS Cognito 开发人员身份验证