Skip to content

用户登录认证

业务系统与流程引擎集成时,需要实现统一登录,使用户在业务系统中登录后,无需重复登录即可访问流程相关功能。

完整集成路径可参考 如何与业务系统集成

概述

工作流接口调用时的身份认证统一使用流程引擎的 Token 认证方式。accessToken 过期时间为 5 天,通过 获取 Token 接口获得。

从业务系统跳转流程引擎页面时,认证方式有两种:

方式说明适用场景
Token 认证(推荐)业务系统调用登录接口获取 accessToken,在访问地址上拼接 hzToken 参数集成简单,大多数项目首选
统一认证集成对接业务系统现有认证体系(CAS、OAuth 等),通过登录适配器打通会话已有统一认证平台,需深度会话共享

前置条件

正式集成前,需先完成 组织机构实现,确保业务系统用户与流程引擎用户 ID 一致。

1. Token 认证(推荐)

接口调用认证

业务系统后台调用流程 REST 接口时,需在请求中携带当前用户的 accessToken。接口地址、参数与返回值详见 获取 Token

典型调用流程:

  1. 业务系统根据当前登录用户,调用流程引擎登录接口获取 accessToken
  2. 调用创建、提交、待办等接口时,将 accessToken 作为凭证传入
  3. Token 过期前重新获取,避免接口调用失败

页面免登录访问

用户从业务系统打开流程页面时,在 URL 后拼接 hzToken 参数即可免登录访问:

/workflow/module/workflow/index.html?flowId=NewFlowId1&isembedded=false&hzToken=xxxx

流程审批页示例:

场景URL 格式
发起流程/workflow/module/workflow/index.html?flowId={flowId}&hzToken={token}
办理流程/workflow/module/workflow/index.html?workId={workId}&trackId={trackId}&subjection={subjection}&hzToken={token}

菜单页单点登录时,需将 # 后面的内容放到 URL 最后面,例如:

/horizon/manager/index.html?hzToken=xxxxx#page/createFlow

更多 URL 拼接规则与示例见 认证与授权 中的「使用 Token」章节。

登录流程图

2. 统一认证集成

当业务系统已建设统一认证平台(如 CAS、OAuth、企业微信等),希望用户登录业务系统后直接进入流程引擎、无需单独获取 Token 时,可采用统一认证集成方式。

实现

详情参考:统一认证集成

注意事项

  • 统一认证集成通常需要 本地开发环境部署 后进行适配器开发与调试
  • 集群部署场景下,需关注 Session 一致性与单点登录过滤器配置,参见 集群部署
  • 已实现统一认证后,打开流程页面可不再传递 accessToken / hzToken 参数

相关文档