恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
ToolJet 配置 Okta 作为 OIDC 身份提供商(Identity Provider)完整指南
首页
资讯中心
/
ToolJet 配置 Okta 作为 OIDC 身份提供商(Identity Provider)完整指南
ToolJet 配置 Okta 作为 OIDC 身份提供商(Identity Provider)完整指南
发布时间:2026/9/11 15:08:07
ToolJet 配置 Okta 作为 OIDC 身份提供商Identity Provider完整指南【免费下载链接】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/ToolJetOkta 可被配置为 ToolJet OpenID ConnectOIDC单点登录的身份提供商OIDC 是一种通过可信第三方安全校验用户身份的身份认证协议。本文以 ToolJet 官方文档为骨架结合当前仓库源码系统讲解如何在 Okta Developer Console 中生成 Client ID 与 Client Secret如何在 ToolJet 实例级或工作区级完成 OIDC 配置并深入剖析 ToolJet 服务端对 OIDC 配置的存储模型与校验逻辑。读者学完后可以独立完成「Okta → ToolJet」的 SSO 全链路接入与排障。前置阅读OIDC 在 ToolJet 中的整体配置入口在开始获取 Okta 凭据之前建议先阅读 ToolJet 的 OIDC Setup 指南。该指南说明 OIDC 是 ToolJet 的付费功能Paid feature需要相应版权的许可授权才可使用。OIDC 配置分两个层级所需角色不同实例级Instance Level需要Super Admin超级管理员角色入口为Settings Instance login示例 URLhttps://app.corp.com/instance-settings/instance-login工作区级Workspace Level需要Admin管理员角色入口为Workspace Settings Workspace login示例 URLhttps://app.corp.com/nexus/workspace-settings/workspace-login。除 Okta 之外ToolJet 还支持将Azure AD与Google配置为 OIDC 身份提供商配置步骤与 Okta 基本一致区别仅在于从各提供商控制台获取凭据的方式不同。在 Okta Developer Console 生成 Client ID 与 Client SecretOkta 作为身份提供商IdP需要先在 Okta 侧注册一个 OIDC 应用ToolJet 才能通过标准 OIDC 流程授权码模式完成用户认证。完整操作步骤如下登录 Okta Developer Consoledeveloper.okta.com。进入Applications应用区块点击Create App Integration创建应用集成。选择OIDC - OpenID Connect作为Sign-in method登录方式选择Web Application作为Application type应用类型然后点击Next。填写App integration name应用集成名称并将Sign-in redirect URIs登录重定向 URI设置为 ToolJet 提供的Redirect URL。该 Redirect URL 的来源在 ToolJet 的 OIDC 配置弹窗中开启配置开关并不填写任何参数直接点击Save changesToolJet 即会生成并显示 Redirect URL。也就是说Redirect URL 必须先由 ToolJet 生成再回填到 Okta。完成创建后进入应用详情页。在 Okta 应用详情页复制Client ID与Client SecretClient Credentials回到 ToolJet 的 OIDC 配置弹窗中填写。查阅 Okta 官方 Auth Servers 文档定位并获取本租户的Well Known URL即 OIDC Discovery 端点形如https://your-org.okta.com/.well-known/openid-configuration。提示Okta 的 Well Known URL 通常对应Org Authorization Server的元数据端点。ToolJet 会基于该端点自动发现授权端点、令牌端点、用户信息端点以及 JWKS 公钥信息因此该地址必须可被 ToolJet 服务端访问。在 ToolJet 中完成 OIDC 配置获取到 Okta 的凭据后在 ToolJet 中按以下步骤启用 OIDC SSO点击仪表盘左下角的设置图标⚙️。根据配置层级进入对应页面实例级Settings Instance login工作区级Workspace Settings Workspace login。页面右侧会列出各类 SSO 客户端的开关默认全部关闭。打开OpenID Connect对应的开关。开启后弹出配置弹窗包含Name、Client ID、Client secret、Well known URL等输入项。弹窗左上角有启用开关——先保持弹窗启用状态不填写任何参数直接点击Save changes此时 ToolJet 会生成Redirect URL请将其复制并配置到 Okta即上文第 4 步。从 Okta 开发者控制台获取Client Id、Client Secret与Well Known URL并填入弹窗点击弹窗底部的Save changes保存。保存成功后OIDC SSO 即配置完成用户即可通过 Okta 账号无缝登录 ToolJet。ToolJet 前端登录页会提供对应的 OIDC 登录入口认证流程由服务端完成与 Okta 的交互。源码视角OIDC 配置的存储模型与字段语义SSO 配置实体OpenId 配置结构ToolJet 服务端使用 TypeORM 实体SSOConfigs存储各类 SSO 配置实体定义位于 sso_config.entity.ts。其中 OIDC 对应的配置结构OpenId定义如下type OpenId { clientId: string; clientSecret: string; name: string; customScopes: string; wellKnownUrl: string; claimName: string; groupMapping: { [key: string]: string }; enableGroupSync: boolean; enableShortSession: boolean; };各字段含义与来源对应关系字段来源 / 语义clientIdOkta 应用详情页的Client IDclientSecretOkta 应用详情页的Client SecretnameOIDC 配置名称用户自定义wellKnownUrlOktaWell Known URLOIDC Discovery 端点customScopes自定义 OIDC Scopes如需要附加权限时填写claimName用于提取用户标识的 Claim 名称如email、preferred_usernamegroupMappingOkta 用户组到 ToolJet 用户组的映射关系enableGroupSync是否启用 OIDC 组同步enableShortSession是否启用短会话模式从源码结构看customScopes、claimName、groupMapping、enableGroupSync、enableShortSession属于进阶能力。基础接入仅需关注clientId、clientSecret、wellKnownUrl与name四个字段。配置的作用域与启用状态同文件中还定义了 SSO 类型的枚举与作用域枚举export enum SSOType { GOOGLE google, GIT git, FORM form, OPENID openid, LDAP ldap, SAML saml, } export enum ConfigScope { ORGANIZATION organization, INSTANCE instance, }由此可以确认ToolJet 内部的 OIDC 类型标识为openid配置通过configScope区分实例级instance与工作区级organizationorganizationId为空的记录即实例级配置enabled布尔字段控制该配置是否生效——登录时服务端只会读取启用状态的配置。仓库层配置的读写与校验SSO 配置的持久化与读取由 repository.ts 中的SSOConfigsRepository完成关键方法包括createOrUpdateSSOConfig(configData)按sso organizationId configScope查找已存在配置存在则更新、不存在则创建——这解释了保存配置时的「幂等」行为updateConfig(id, updateData)/deleteConfig(id)更新与删除指定配置getConfigs(id)仅返回enabled: true且带organization与oidcGroupSyncs关联的配置——登录流程读取配置时未启用的 OIDC 配置会被直接过滤findInstanceConfigs()查询organizationId IS NULL的实例级配置并预加载oidcGroupSyncs关联组同步数据。从源码结构看登录流程见 oauth/service.ts会依据登录入口判断配置来源带configId时按配置 ID 读取工作区级配置不带configId且带ssoType时会从实例级 SSO 配置中按类型查找getInstanceSSOConfigsOfType并调用removeDisabledSsoConfigs过滤掉未启用的配置。前端视角多租户 OIDC 的支持值得一提的是ToolJet 前端已支持同时配置多个 OIDC 身份提供商多租户 OIDC。在 BaseSSOConfigurationList.jsx 中可以看到判定某 OIDC 是否启用时会先过滤所有sso openid的配置只要其中任意一个处于启用状态即认为 OpenID Connect 开关已开启SSO 列表中针对 OIDC 会显示已启用配置数量的徽章oidc-count-badge便于管理员直观了解当前启用了多少个 OIDC 身份提供商。这意味着如果团队同时使用 Okta 与 Azure AD可以分别创建两条 OIDC 配置用户登录时选择对应身份提供商即可。常见配置核对清单完成配置后建议按以下清单做一次核对Redirect URL 一致性Okta 中配置的Sign-in redirect URIs必须与 ToolJet 生成的 Redirect URL完全一致包含协议、域名与路径否则授权回调会失败Well Known URL 可达性确认 Okta 的 Well Known URL 可从 ToolJet 服务端网络环境访问若 ToolJet 部署在内网/私有云需放通对应出站访问配置层级正确确认在正确的入口实例级Settings Instance login或工作区级Workspace Settings Workspace login配置且当前账号具备对应角色Super Admin / Admin配置已启用弹窗左上角的启用开关必须打开且点击Save changes保存——未保存的改动不会写入sso_configs表登录时也不会生效许可权限OIDC 属于付费功能需确保当前实例/工作区具备相应许可否则受 sso.guard.ts 等许可守卫约束无法启用。结语本文从 Okta Developer Console 的凭据生成到 ToolJet 的 OIDC 配置界面再到服务端存储模型OpenId配置结构、仓库层读取逻辑仅读取enabled配置与前端多租户 OIDC 支持完整梳理了「Okta → ToolJet」SSO 接入的全链路。实际部署时只需严格对齐 Redirect URL、Well Known URL 与 Client 凭据三项核心信息即可让组织成员通过 Okta 账号安全、无缝地登录 ToolJet。进一步了解 OIDC 通用配置细节可参阅 OIDC Setup 指南。【免费下载链接】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),仅供参考