OpenLDAP Docker 服务器
此方法使用 OpenLDAP Docker 镜像来运行可用于开发的本地目录服务。
这也是用于在 CI 工作流程中运行集成测试的方法。
要求
- mkcert(通过 Homebrew 提供) 
- 一个付费组织 
快速开始
启动目录服务
1、在 Directory Connector 存储库中打开一个终端。
2、配置 TLS 证书:
npm run test:integration:setup3、启动 OpenLDAP Docker 容器:
docker compose up -d配置目录连接器
目录设置:
- Type: Active Directory / LDAP 
- Server Hostname: localhost 
- Server Port: 389 
- Root Path: dc=bitwarden,dc=com 
- This server uses Active Directory: [unchecked] 
- This server pages search results: [unchecked] 
- This server uses an encrypted connection: [unchecked] 
- Username: cn=admin,dc=bitwarden,dc=com 
- Password: admin 
同步设置:
- User Path: [blank] 
- User Object Class: person 
- User Email Attribute: mail 
- Group Path: [blank] 
- Group Object Class: organizationalUnit 
- Group Name Attribute: ou 
同步
当您进行真正的同步时,邀请电子邮件将发送给所有已同步的用户。确保您使用的是 Mailcatcher,这样您就不会发送实时电子邮件。
- 点击 Directory Connector 中的「Test Now」按钮。您应该会得到一个用户列表。 
- 准备好后,点击「Sync Now」以执行真正的同步。您应该会在 Directory Connector 中收到确认消息,并在网页密码库中看到新的被邀请的用户。 
集成测试
您也可以针对 Docker 容器运行集成测试:
npm run test:integration集成测试断言收到的同步数据与一组静态测试数据匹配。对 OpenLDAP 目录数据的任何更改都会导致这些测试失败。
其他数据集
LDIF 文件包含您的目录的配置(例如用户、群组等)。您可以修改或使用自定义 LDIF 文件来自定义您的测试数据。
LDIF 文件可以放置在您的 Directory Connector 存储库中的 openldap/ldifs 位置。您可能需要删除并重新创建您的 Docker 容器,以便更改生效(例如 docker compose up -d --force-recreate )。
使用示例 LDIF 文件
不同大小的示例 LDIF 文件包含在 Directory Connector 存储库的 openldap/examples 文件夹中。
生成您自己的 LDIF 文件
或者,您可以使用以下说明生成您自己的 LDIF 文件。除非您有特殊要求,否则您不需要这样做。
- 下载 LDIF 生成器。 
- 将 - Data/mail-hosts.txt文件替换为我们自己的 mail-hosts.txt 文件。这包含大量唯一主机名,以避免生成重复的电子邮件地址。
- 运行 - java -jar LDIFGen.jar。
- 使用以下设置: - Base Added: dc=bitwarden, dc=com 
- Generate OUs: Generic 
- Generate People: add 
 
- 点击「Run」。 
- LDIF 输出可能在电子邮件地址中包含非法字符(例如空格和撇号) - 您应该在使用前手动检查。 
最后更新于
