如何使用cognito在每个用户的基础上定义自定义范围?
例如我有范围resource1.read,resource1.write
我希望用户A具有resource1.read和resource1.write,而用户B具有resource1.read only。
这只是一个高水平的例子。我们拥有大量不同的资源,并希望允许客户管理每个用户可以访问的资源。
我还没有找到一种将范围与每个个人用户关联的方法,但是只能在每个池级别上。
是否可以仅使用Cognito或Cognito +一些AWS托管服务来实现此目的,还是我必须实现另一个API来自己管理范围?
我们找不到一种方法来使作用域在每个用户的基础上工作,因此最终使用了自定义属性。
如果您的范围少于25个(认知最大限制),则每个范围可以使用一个属性。PS只是要注意,一旦更改了属性,就无法重命名/删除该属性,除非您删除整个池并重新开始。
例如,您的属性可能如下所示:
custom:resource1.read : "true"
custom:resource1.write : "false"
custom:resource2.read : "true"
custom:resource2.write : "true"
Run Code Online (Sandbox Code Playgroud)
这个想法很简单。我们没有在scopes数组中定义所有范围,而是在常规自定义属性中对其进行了定义。当代码检查范围时,只需遍历所有字段并找到具有正确前缀的字段即可。
| 归档时间: |
|
| 查看次数: |
125 次 |
| 最近记录: |