ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

ToolJet LDAP 单点登录(SSO)配置指南:从工作区设置到源码级登录流程解析

ToolJet LDAP 单点登录(SSO)配置指南:从工作区设置到源码级登录流程解析 ToolJet LDAP 单点登录SSO配置指南从工作区设置到源码级登录流程解析【免费下载链接】ToolJetOpen-source foundation of ToolJet AI - the enterprise app generation platform for internal tools, dashboards, business applications, workflows and AI agents. Build visually, from a prompt, or from Claude Code, Codex and Cursor over MCP 项目地址: https://gitcode.com/GitHub_Trending/to/ToolJetLDAPLightweight Directory Access Protocol轻量级目录访问协议是用于访问和管理目录信息的标准协议能够为企业提供集中式的身份认证与用户管理。本指南围绕 ToolJet 工作区Workspace中的 LDAP SSO 配置展开完整说明配置入口、各项参数含义、SSL 证书选项、登录流程以及首次登录时的组同步与头像更新行为并结合当前仓库的服务端与前端源码给出底层实现佐证。读者读完本文后可以独立在企业自建的 ToolJet 实例上完成 LDAP 认证接入并理解登录背后的用户创建、邀请激活与工作区级作用域等细节。LDAP 在 ToolJet 中的定位在 ToolJet 中LDAP 被建模为一种工作区级别的单点登录SSO配置项。从服务端数据模型看sso_config.entity.ts 中定义了SSOType枚举其中LDAP ldap与GOOGLE、GIT、OPENID、SAML等并列配置实体SSOConfigs通过configs字段JSON 类型存储 LDAP 的详细参数见同文件 L68-L99。同时LDAP 属于受许可证License保护的 SSO 能力。在 LicenseBase.ts 中通过getFeatureValue(ldap)读取该特性开关前端在 BaseSSOConfigurationList.jsx 中将ldap列入protectedSSO列表并使用LicenseTooltip对未授权实例隐藏/禁用配置入口。因此在使用 LDAP SSO 前请确认你的 ToolJet 版本与许可证包含 LDAP 特性。前置条件与角色要求配置 LDAP SSO 需要Admin管理员角色。需要一个可访问的 LDAP 目录服务器如 OpenLDAP、Active Directory 等并准备好以下信息服务器 Hostname 或 IP 地址服务端口基础可分辨名称Base DN若启用证书模式还需准备客户端私钥Client Key、客户端证书Client Certificate与服务端证书Server Certificate。配置 LDAP SSO 的分步操作1. 进入工作区登录设置点击 ToolJet 仪表盘左下角的设置图标⚙️。进入Workspace settings Workspace login。典型 URL 形如https://app.corp.com/nexus/workspace-settings/workspace-login。在 SSO 配置列表中点击LDAP卡片打开配置弹窗对应前端源码中的openModal(ldap)逻辑见 BaseSSOConfigurationList.jsx。2. 启用并填写配置项打开Enable开关后依次填写以下字段配置字段说明示例NameSSO 名称将显示在登录页的 “Sign in withName” 按钮上Corporate LDAPHostnameLDAP 服务器的主机名或 IP 地址ldap.corp.com或10.0.0.5PortLDAP 服务端口号明文 389LDAPS 636具体取决于服务器配置389或636Base DN基础可分辨名称用于限定用户搜索的目录子树dccorp,dccomSSL是否启用 SSL 加密连接开启后可进一步选择None或CertificatesCertificates关于 SSL 模式None不使用证书校验仅开启加密传输或按服务器默认策略连接。Certificates需要额外提供三项内容Client Key客户端私钥Client Certificate客户端证书Server Certificate服务端证书用于校验 LDAP 服务器身份。从服务端实体定义看LDAP 配置的数据结构与上述字段一一对应。sso_config.entity.ts 中定义了包含basedn、ssl及证书对象clientKey、clientCert、serverCert的 LDAP 配置类型并支持basedns多 Base DN 数组、bindAttributecn或upn与enableGroupSync等扩展字段——这些字段意味着 ToolJet 的 LDAP 集成在底层支持多目录树、多种绑定属性以及组同步能力为大型组织的复杂目录结构预留了扩展空间。3. 保存配置填写完毕后点击底部的Save Changes按钮保存。配置写入后ToolJet 会将其持久化到sso_configs表见 sso_config.entity.ts其中configScope为organizationsso为ldapenabled置为true。4. 获取 Login URL 并分享给用户保存成功后返回Workspace login页面复制页面提供的Login URL。该 URL 用于访问对应工作区的登录页可将其分发给需要登录该工作区的用户。登录流程与使用方式用户访问工作区Login URL点击Sign in withLDAP Name按钮。输入 LDAP 用户名与密码。ToolJet 使用 LDAP 服务器中每个用户关联的common namecn作为登录Username。首次登录用户会被重定向到Workspace Invite页面完成激活后续登录直接进入 ToolJet 仪表盘。登录作用域说明需要注意ToolJet 支持的是工作区级别的 LDAP 登录而不是实例级别。因此通过 LDAP 登录的用户会被定向到其选择的工作区而不是全局实例。这一点与服务端登录逻辑一致在 OauthService.signIn 中工作区登录分支会按organization.id查询用户findByEmail(userResponse.email, organization.id, ...)并将organizationDetails固定为该工作区从而保证登录会话归属到具体工作区。首次登录的附加检查组同步与头像更新首次登录时ToolJet 会执行额外的账户处理用户组同步ToolJet 会校验 LDAP 服务器中的用户组如果对应组在 ToolJet 工作区中存在用户会被自动加入该组。该能力与实体中enableGroupSync配置项对应同时仓库中也有独立的组同步迁移如 AddLdapGroupSyncToggle.ts 为 LDAP 配置增加组同步开关说明组同步是 LDAP 集成的一项成熟能力。头像更新ToolJet 会从 LDAP 服务器读取用户的 profile picture并同步更新 ToolJet 账户头像。这些行为由服务端用户生命周期逻辑驱动在 lifecycle.ts 中LDAP ldap被定义为用户的合法来源source之一与signup、invite、google、saml等并列user.entity.ts 的source字段枚举同样包含ldap。这意味着通过 LDAP 首次登录创建的账户其来源会被标记为ldap便于后续审计与生命周期管理。结合源码理解 LDAP 登录的实现结构服务端OauthService中注入了LdapService见 service.ts并在 module.ts 中注册了oauth/util-services/ldap.service提供方。ldap.service.ts 基于ldapts客户端库定义了initializeLdapClient、search、unbindLdapClient等核心方法用于建立连接、执行目录搜索与释放连接。前端登录入口方面仓库中存在 LdapLoginPage.jsx 作为 LDAP 登录页的壳组件并通过withEditionSpecificComponent按版本Edition动态注入对应实现LDAP 配置的 UI 卡片则统一由 BaseSSOConfigurationList.jsx 渲染LDAP 图标取自assets/images/Ldap.png见 L343-L344。许可校验后端 sso.guard.ts 在路由守卫中针对ldap场景做许可证校验前端则通过featureAccess.ldap控制配置入口是否可用二者共同保证只有具备许可的实例才能启用 LDAP SSO。常见注意事项请确保 LDAP 服务器地址Hostname/Port从 ToolJet 服务端可达且防火墙放行相应端口。Base DN 建议尽量精确以缩小目录搜索范围、加快认证响应如目录规模较大可结合实体的basedns多 Base DN 能力规划配置需以你所部署版本实际支持的 UI 字段为准。启用 SSL 证书模式时需保证 Client Key、Client Certificate、Server Certificate 三份材料内容正确且配套否则握手会失败。LDAP 登录属于工作区级 SSO请将对应工作区的 Login URL 分发给目标用户而不是实例登录地址。如果实例许可证未包含 LDAP 特性配置入口会被隐藏或置灰此时请升级许可证后再行配置。通过以上步骤即可在企业目录服务之上为 ToolJet 工作区开启 LDAP 单点登录实现集中的身份认证、自动组同步与头像同步显著简化内部用户的登录与管理流程。【免费下载链接】ToolJetOpen-source foundation of ToolJet AI - the enterprise app generation platform for internal tools, dashboards, business applications, workflows and AI agents. Build visually, from a prompt, or from Claude Code, Codex and Cursor over MCP 项目地址: https://gitcode.com/GitHub_Trending/to/ToolJet创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表