我想创建一个允许用户注册的服务,但是这些用户可以是团队或组织的一部分;就像其他任何服务一样,例如Slack,Trello,Google Apps等。因此,这些用户将需要继承其已注册的上级团队或组织的设置和权限。
我知道Cognito中有用户组,但是根据限制,每个用户池最多只能有25个用户组,默认情况下,最多有60个池。这甚至是正确的方法,还是有更好的方法呢?具体而言,Cognito中是否有内置机制来解决此问题,还是需要其他工作?
谢谢。
答案 0 :(得分:6)
要为您的应用程序实现多租户(团队,小组,组织)支持,请将它们分开,因为Cognito小组不是正确的选择。
您既可以为每个租户配置一个Userpool(您可以通过向AWS发送限制增加支持请求来请求从60增加限制),也可以使用单个Userpool(仅使用Cognito进行身份验证)在应用程序级别处理租户。
注意:除非您为每个租户使用单独的子域(例如tenant1.xyz.com)并使用其自己的自定义登录页面图标,否则您可以使用一种更简单的Cognito Userpool方法。
用户使用Cognito登录页面进行身份验证后,可以使用Cognito pre token generation trigger Lambda从数据库中查询用户的租户ID,并将其添加到JWT令牌中,以便在验证令牌后可以检索租户ID。的登录用户。
答案 1 :(得分:2)
我认为此后已更改。
来源:https://docs.aws.amazon.com/cognito/latest/developerguide/limits.html