本文介绍如何通过自定义集成对接功能实现单点登录,适用于目标应用不支持标准 SSO 协议(OIDC、SAML、OAUTH2、CAS)的场景。
| 协议 | 适用场景 | 配置复杂度 |
|---|---|---|
| OIDC | 支持 OpenID Connect 的应用 | 低 |
| SAML 2.0 | 支持 SAML 2.0 的应用 | 低 |
| OAuth 2.0 | 支持 OAuth 2.0 的应用 | 低 |
| CAS | 支持 CAS 协议的应用 | 低 |
| 自定义集成对接 | 不支持标准协议的应用 | 高 |
建议:如果目标系统支持标准协议,建议优先使用标准协议配置,更加简单、稳定、安全性更高。
| 关键信息 | 说明 | 是否必需 | 示例 |
|---|---|---|---|
| 单点登录 URL 地址 | 目标系统的单点登录入口地址 | 必需 | https://example.com/sso/login |
| URL 参数格式 | 单点登录 URL 需要传递的参数 | 必需 | ?token=xxx&user=xxx |
| Token 获取接口 | 获取 token/签名的 API 接口地址 | 必需 | POST /api/sso/getToken |
| Token 获取参数 | 调用 token 接口需要的参数 | 必需 | appId, appSecret |
| 用户标识字段 | 目标系统识别用户的字段 | 必需 | username, email |
| 认证方式 | Token 的认证方式 | 必需 | Bearer Token、请求头 |
| 接口调用凭证 | 调用 API 需要的凭证 | 必需 | appId, appSecret |
| 域名/租户信息 | 企业域名或租户标识 | 可选 | domain=abc.com |
重要:自定义集成对接功能适用于不支持标准单点登录协议的应用系统。
?param1=value1¶m2=value2,参数将通过 customParams 字段传递到连接流触发节点。{
"hook_url": "https://example.com/acm/flows/start/v2/1/xxx/xxx",
"sync": true,
"type": "同步",
"value": {
"sub": "用户唯一标识",
"name": "用户姓名",
"phone_number": "手机号",
"email": "用户邮箱",
"username": "用户名"
},
"customParams": {
"param1": "value1",
"param2": "value2"
}
}| 字段 | 类型 | 说明 |
|---|---|---|
| value | Object | 用户身份信息 |
| value.username | String | 用户名,通常用于匹配目标系统的用户标识 |
| value.email | String | 用户邮箱,可用于提取账号名和域名 |
| value.name | String | 用户姓名 |
| value.sub | String | 用户唯一标识 |
| customParams | Object | 自定义参数对象,包含 URL 中所有 query 参数 |
| 场景 | URL 示例 | customParams 值 |
|---|---|---|
| 无参数 | /login | {} |
| 单个参数 | /login?code=ERP | {"code": "ERP"} |
| 多个参数 | /login?code=ERP&env=prod | {"code": "ERP", "env": "prod"} |
| 同名参数 | /login?id=1&id=2 | {"id": ["1", "2"]} |
| 参数值含特殊字符 | /login?name=%E5%BC%A0%E4%B8%89 | {"name": "张三"} |
| 配置项 | 说明 |
|---|---|
| 请求方式 | 根据目标系统 API 文档选择 GET 或 POST |
| 请求 URL | 填写目标系统提供的 API 接口地址 |
| 请求头 | 配置必要的请求头(如 Content-Type、认证 token 等) |
| 请求体 | 根据 API 文档配置请求参数 |
| 响应处理 | 从响应中提取所需字段,保存为流程变量供后续节点使用 |
提示:如果目标系统需要先获取 token,再使用 token 调用签名接口,则需要配置两个 HTTP 节点。
{单点登录入口地址}?{参数1}={值1}&{参数2}={值2}&...url 字段的 JSON 对象{
"url": "https://example.com/sso/login?token=xxx&user=xxx"
}Webhook节点 → HTTP节点1 → HTTP节点2(如需要)→ 流程变量节点email 字段中提取账号前缀部分(@符号前的部分)参数安全:API 接口的调用凭证等敏感参数应妥善保管,建议在流程编排中使用变量配置,避免硬编码。
URL 拼接:确保 URL 参数正确获取,注意 URL 参数的编码格式,验证拼接后的 URL 格式是否符合目标系统的要求。
| 术语 | 说明 |
|---|---|
| 自定义集成对接 | 通过链接流编排的方式实现非标准协议的单点登录 |
| 链接流编排 | 通过可视化方式配置流程节点,实现数据流转和处理逻辑 |
| Webhook 节点 | 流程的起始节点,接收用户认证后的用户信息 |
| HTTP 节点 | 用于调用外部 API 接口的节点 |
| 流程变量节点 | 用于处理数据并返回结果的节点 |