JumpServer 堡垒机对接企业微信或钉钉本质是启用内置 OAuth2 授权登录,通过扫码实现无密码 SSO;需满足 HTTPS 域名、管理员权限、公网可达及版本 ≥v2.15.0 等前提,再分别配置双方应用凭证与回调地址。

JumpServer 堡垒机对接企业微信或钉钉,本质是启用其内置的 OAuth2 授权登录能力,通过扫码方式完成身份校验与单点登录(SSO)。整个过程不依赖用户密码,由企业微信/钉钉服务端完成身份认证,并将可信的用户唯一标识(如 `UserID`)回传给 JumpServer,再由 JumpServer 自动创建或匹配本地用户。关键在于配置好三方交互的“信任链”和回调地址。
确认前提条件
确保以下基础就绪,否则后续配置无法生效:
- JumpServer 已部署并可正常访问(建议使用 HTTPS 域名,如 https://jms.example.com);
- 你拥有企业微信管理后台(work.weixin.qq.com)或钉钉开发者后台(open-dev.dingtalk.com)的管理员权限;
- 堡垒机所在网络能访问公网(企业微信/钉钉认证服务需双向通信);
- JumpServer 版本 ≥ v2.15.0(推荐 v2.28+),旧版本可能缺少扫码登录 UI 或参数支持。
企业微信对接核心步骤
在企业微信侧创建「自建应用」,获取凭证,并在 JumpServer 后台填写对应参数:
- 登录企业微信管理后台 → 「应用管理」→ 「自建应用」→ 创建新应用,记录 AgentId、Secret 和 CorpID;
- 在「应用详情」→ 「网页授权及JS-SDK」中,设置 可信域名 为 JumpServer 的域名(如 jms.example.com),注意不含
https://; - 在 JumpServer 管理后台(
/api/v1/settings/setting/或 Web UI「系统设置 → 认证设置 → 企业微信」)填入:
▸ CorpID(企业 ID)
▸ AgentID(应用 ID)
▸ Secret(应用密钥)
▸ 回调域名(Callback URL)必须严格匹配: https://jms.example.com/oidc/callback/wecom/(末尾斜杠不可省); - 启用「企业微信登录」开关,保存后重启 JumpServer 服务(部分版本需重启 gunicorn 或完整服务)。
钉钉对接要点说明
钉钉流程类似,但需注意平台差异:
- 进入钉钉开放平台 → 「应用开发」→ 「企业内部应用」→ 创建应用,获取 AppKey 与 AppSecret;
- 在「安全设置」中添加 JSAPI 安全域名(同 JumpServer 域名,如 jms.example.com);
- 在 JumpServer「认证设置 → 钉钉」中填写:
▸ AppKey
▸ AppSecret
▸ 回调地址必须为:https://jms.example.com/oidc/callback/dingtalk/; - 钉钉要求回调地址必须提前在开放平台「应用功能 → 网页嵌套」中登记,否则扫码会提示“重定向地址不合法”;
- 用户首次扫码登录时,JumpServer 会自动拉取钉钉用户信息(含 unionid、dept_id 等),支持按部门同步用户(需开启「自动创建用户」选项)。
常见失败原因与验证方法
若扫码后跳转空白、报错或卡在回调页,优先排查以下几点:
- 回调域名拼写错误(大小写、多余空格、缺协议或末尾斜杠);
- JumpServer 域名未配置 HTTPS 或证书不受信(浏览器拦截导致 JS 失效);
- 企业微信/钉钉后台未启用「网页授权」或未勾选「成员可见范围」;
- 用户不在应用可见范围内(企业微信需在「应用管理 → 可见范围」配置;钉钉需在「权限管理」分配);
- JumpServer 日志查看:执行
journalctl -u jms -n 100 -f或检查/opt/jumpserver/logs/jumpserver.log中是否出现OIDC callback error或invalid redirect_uri提示。



















