YeeAuth 文档
核心概念

用户池 (User Pool)

了解用户池的概念、使用场景以及如何在 YeeAuth 中管理用户池。

用户池 (User Pool)

在 YeeAuth 中,用户池(User Pool) 是一组身份和用户的物理或逻辑隔离集合。它是整个身份认证体系中最顶层的容器之一。

什么是用户池?

您可以将用户池理解为一个独立的“用户数据库”。在同一个用户池中的用户共享相同的身份属性、密码策略、登录配置以及认证方式(如邮箱登录、手机号登录、社交媒体 SSO 登录等)。

通过使用多个用户池,您可以:

  • 隔离不同环境:例如创建一个“开发环境用户池”和“生产环境用户池”,确保测试数据不会污染生产系统。
  • 隔离不同业务:如果您有面向外部消费者(B2C)的应用和面向企业内部员工(B2E)的应用,您可以为他们分配不同的用户池,因为他们所需的密码强度、MFA 策略和注册流程可能完全不同。

用户池的核心配置

在创建一个用户池时,您通常需要配置以下信息:

  1. 登录方式 (Login Methods) 支持配置用户名密码、验证码登录、以及通过第三方身份提供商(如微信、GitHub、Google等)进行单点登录。

  2. 密码策略 (Password Policy) 可以定义密码的最小长度、是否需要包含特殊字符、数字和大小写字母。

  3. 多因素认证 (MFA) 针对安全性要求较高的用户池,您可以开启强制或可选的 MFA,例如短信验证码或基于时间的一次性密码(TOTP)。

  4. 自定义属性 (Custom Attributes) 除了标准的用户名、邮箱和手机号之外,您还可以为用户池定义自定义的扩展字段(如工号、部门、会员等级等)。

常见使用场景

  • SaaS 应用:所有的 C 端最终用户都存放在同一个默认用户池中,通过租户(Tenant)或组织(Organization)进行数据和权限的划分。
  • 内部管理系统:为企业内部员工单独建立一个用户池,并接入企业微信或钉钉的扫码登录。

[!TIP] 最佳实践:大多数场景下,单个项目中只需要一个主用户池。过多的用户池可能会增加跨池身份同步和管理的复杂性。只有当业务在合规性、登录流程或物理隔离上有极其严格的独立要求时,才建议拆分用户池。

On this page