ApiGo 5.4.0这次改的是「谁能访问」

ApiGo 推出的 5.4.0 版本已经发布,重点落在认证授权能力的加固上。该产品此前的定位一直没变:把 ERP、CRM 等企业内部已有系统的数据,包装成规范的 REST API 以及 MCP 工具,供 AI 智能体在受控前提下读取和调用。这一次的改动集中在上层鉴权:原来平台侧已有 AppKey 认证与签名认证,5.4.0 再把 OAuth2 客户端凭证、企业 IdP JWT 两种企业内部较通行的机制补充进来。

ApiGo 5.4.0加码认证:OAuth2与IdP JWT双选

按原文信息,相关能力早在 5.2.0 版本就已引入(原文正文标题亦写作「ApiGo 5.2.0:接口认证新增 OAuth2 与企业 IdP JWT 两种方式」),5.4.0 则在此基础上继续加固安全认证环节。两种新方式针对的正是不同企业在 token 签发来源、密钥保管方以及使用场景上的差异。

OAuth2 客户端凭证:服务端到服务端的调用路径

这一模式圈定的使用方是服务端与服务端之间的通信,典型如 Agent、后端服务、定时任务。调用方先用自己既有的 AppKey / AppSecret 换到一个短期有效的 access_token,随后的每次请求只需携带 Bearer token,开发者不必另行编写 HMAC 签名逻辑,各语言现成的 OAuth2 标准库均可直接套用。REST 接口与 MCP 入口都覆盖在这套机制之下。

ApiGo 5.4.0加码认证:OAuth2与IdP JWT双选

实现层面有几点值得注意的取舍。其一,client_id 直接取 AppKey,client_secret 直接取 AppSecret,并未引入另一套凭证体系。其二,假如 token 是同 kid 但由别的环境或其他系统签发,服务端会直接拒收。其三,会话状态保存在 Redis 中,只要把对应的 key 删掉,就等于当场吊销授权。其四,面向信创环境时,签发算法可以切换为 SM2 加密。

企业 IdP JWT:复用已有统一身份体系

对于已经部署 Keycloak、Azure AD、Okta、Authing 的组织来说,可以直接拿自家 IdP 签出的 token 来调用 ApiGo,平台内无需再重复维护一份账号。ApiGo 在这一模式下仅保留 IdP 的 JWKS 公钥,既不接触企业侧的 client_secret,也不提供代换 token 的代理接口。

ApiGo 5.4.0加码认证:OAuth2与IdP JWT双选

原文给出的对比表可以归纳为五个维度:在 token 签发主体上,平台 OAuth2 由 ApiGo 网关的 /oauth2/token 端口签发,企业 IdP JWT 由企业 IdP 签发;在调用方凭证上,前者使用 AppKey / AppSecret,后者使用 IdP 的 client credentials 或用户授权;在平台是否持有密钥上,前者持 AppSecret,后者只存公钥;在应用识别方式上,前者从 token 内的 appKey 识别,后者依靠绑定的 (IdP, subject);在适用对象上,前者面向平台内新建的服务到服务调用,后者面向已有统一身份体系的企业。

小结

小结:ApiGo 5.4.0 把企业存量系统开放给智能体这件事的关键从"接口怎么 encapsulation"推进到了"访问由谁授权":愿意新建凭证的走平台 OAuth2,已有身份体系的直接采信 IdP JWT。对运维方而言,Redis 会话删除即吊销、不持有企业 client_secret 这两点,是落地时实际可考量的安全边界。