OpenLDAP Docker 服务器
此方法使用 OpenLDAP Docker 镜像来运行可用于开发的本地目录服务。
这也是用于在 CI 工作流程中运行集成测试的方法。
要求
mkcert(通过 Homebrew 提供)
一个付费组织
快速开始
启动目录服务
1、在 Directory Connector 存储库中打开一个终端。
2、配置 TLS 证书:
npm run test:integration:setup
3、启动 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 输出可能在电子邮件地址中包含非法字符(例如空格和撇号) - 您应该在使用前手动检查。
最后更新于