企业混搭应用的端到端安全
1. 认证与授权流程
在企业混搭应用中,认证和授权过程分为同步认证和异步认证两种情况:
- 同步认证 :用户通过 Web 应用与流程交互时,可直接重定向到安全认证服务(SAS)进行目标服务的认证。例如,在流程中,receiveGET|POST 已处理但尚未到达相应的 replyGET|POST 活动时,就属于这种情况,如 Listing 1.1 中的 gcal 活动(第 5 - 10 行)。
- 异步认证 :流程已通过执行 replyGET|POST 活动返回给用户,或者使用 receive - replyGET|POST 活动接收并立即回复传入请求。此时用户不再与流程交互,无法重定向到 SAS,需要使用异步技术联系用户,如发送电子邮件或即时消息,支持使用 Lotus Sametime 等。例如,Listing 1.1 中第 18 行之后的所有活动(如 scheduleInterview、emailCandidate 等)。
Bite 引擎和 SAS 之间的通信使用了 OAuth 协议的扩展版本,以无缝实现 Web 应用之间的认证和授权处理。SAS 的设计具有通用性,任何混搭工具都可以通过实现相应的 OAuth 连接器来使用它。
2. 语言安全扩展
为了在 Bite 中实现安全功能,需要对语言进行扩展以捕获认证和授权等安全要求,同时要尽量减少语言扩展。本文主要关注出站安全,即从 Bite 调用外部服务时的安全支持。
2.1 安全扩展元素及语义
为所有出站通信活动(如 GET、POST、PUT、