Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

LDAP/AD

了解如何配置 LibreChat 以使用 LDAP 进行用户身份验证。

您可以使用轻量级目录访问协议 (LDAP) 身份验证服务器来验证用户。

LDAP/AD Server Configuration

基本配置

  • LDAP_URLLDAP_USER_SEARCH_BASE 是必需的。
  • LDAP_SEARCH_FILTER 是可选的;如果未指定,默认使用 mail 属性。如果指定了该项,请使用字面量 {{username}} 来将给定的用户名用于搜索。
KeyTypeDescriptionExample
LDAP_URLstringLDAP 服务器 URL。LDAP_URL=ldap://localhost:389
LDAP_BIND_DNstring绑定 DNLDAP_BIND_DN=cn=root
LDAP_BIND_CREDENTIALSstringbindDN 的密码LDAP_BIND_CREDENTIALS=password
LDAP_USER_SEARCH_BASEstringLDAP 用户搜索基准 (search base)LDAP_USER_SEARCH_BASE=o=users,o=example.com
LDAP_SEARCH_FILTERstringLDAP 搜索过滤器LDAP_SEARCH_FILTER=mail={{username}}

字段映射

您可以指定 LibreChat 用户属性与 LDAP 用户属性之间的映射。如果默认映射无法正常工作,请使用这些设置。

KeyTypeDescriptionExample
LDAP_IDstring指定一个唯一用户 ID。默认使用 uid 或 sAMAccountName,mail。LDAP_ID=uid
LDAP_USERNAMEstring默认情况下,它使用 givenName 或 mail。LDAP_USERNAME=givenName
LDAP_EMAILstring默认情况下,它使用 mail。LDAP_EMAIL=userPrincipalName
LDAP_FULL_NAMEstring默认情况下,它使用 givenName 和 surname 的组合。LDAP_FULL_NAME=givenName,surname

用户名或电子邮箱

默认情况下,LibreChat 使用电子邮件地址和密码进行身份验证。 这有时可能会在 LDAP 中导致问题,您可能希望改用用户名。 请设置 LDAP_SEARCH_FILTER 以根据用户名进行筛选(例如 LDAP_SEARCH_FILTER=uid={{username}}),并配置 LibreChat 以通过用户名请求登录:

KeyTypeDescriptionExample
LDAP_LOGIN_USES_USERNAMEstring使用用户名代替电子邮件。LDAP_LOGIN_USES_USERNAME=true

通过 SSL 的 Active Directory

若要通过 SSL (ldaps://) 连接(例如使用 Windows AD 的公司),请指定内部 CA 证书的路径。 LDAP_TLS_REJECT_UNAUTHORIZED 是可选的;如果未指定,当无法验证 LDAP 服务器的证书时,LibreChat 将拒绝 TLS/SSL 连接。 将 LDAP_TLS_REJECT_UNAUTHORIZED 设置为 false(不建议在生产环境中使用),以允许 LibreChat 在无法验证 LDAP 服务器证书的情况下接受 TLS/SSL 连接。

KeyTypeDescriptionExample
LDAP_CA_CERT_PATHstringCA 证书路径。LDAP_CA_CERT_PATH=/path/to/root_ca_cert.crt
LDAP_TLS_REJECT_UNAUTHORIZEDstring禁用 TLS 验证LDAP_TLS_REJECT_UNAUTHORIZED=true

LDAP StartTLS

启用 LDAP StartTLS 允许 LibreChat 将不安全的连接升级为安全的 TLS 连接。如果您希望在不切换到 ldaps:// 的情况下保护连接,此功能非常有用。

KeyTypeDescriptionExample
LDAP_STARTTLSstring启用 LDAP StartTLS 以将连接升级为 TLS。设置为 true 以启用此功能。LDAP_STARTTLS=true

这篇指南怎么样?