SuperTokens是否支持类似AWS Cognito的多用户池功能?
SuperTokens没有和AWS Cognito「用户池」完全对应的同名原生功能,但完全能实现同等的用户分池隔离存储效果。你翻文档没找到相关内容,主要是两者产品设计思路不一样——SuperTokens没把「独立用户池」做成显式的顶层产品概念,实际落地有两种成熟方案覆盖这类需求:
逻辑隔离(适配绝大多数普通多用户池场景,也是官方推荐方案)
初始化SuperTokens时,给每个需要独立账号体系的业务线、租户分配专属的appId参数即可。不同appId下的用户数据、登录规则、会话凭证、权限配置完全独立,服务层默认会做数据路由过滤,跨appId无法直接访问其他域的用户信息,实际隔离效果和Cognito用户池没有区别。
这种方案不需要部署多套服务,单实例就能支撑上千个独立的用户隔离域,运维成本极低。所有用户数据虽然存在同一套数据库的SuperTokens相关表中,但会通过appId字段做严格的拆分校验,不会出现数据串用的问题。物理隔离(适配高合规要求的强隔离场景)
如果业务有合规要求,不同用户群体的数据必须物理拆分存储(比如政企租户隔离、不同合规辖区的用户数据分开存放),可以给每个独立用户池部署单独的SuperTokens实例,每个实例连接独立的数据库。这种方案的隔离级别比Cognito普通用户池更高,完全不存在数据互通的可能,对应的运维成本也更高,需要单独维护每个实例的配置、升级和安全策略。
补充说明:SuperTokens目前不支持单实例下自动把不同隔离域的用户拆分到独立的数据库集合/表中,如果你的需求强依赖「不同用户池数据存在独立集合」这个特性,只能选择多实例物理部署的方案。
内容的提问来源于stack exchange,提问作者istiak

