ApiGo 5.2.0:接口认证新增 OAuth2 与企业 IdP JWT 两种方式
ApiGo 做的事没变——把 ERP、CRM 这类企业存量系统的数据封装成标准 REST API 和 MCP 工具,让 AI 智能体在安全管控下访问。这次更新动的是"谁能访问"这一层:在原有的AppKey认证、签名认证之外,新增了 OAuth2 客户端凭证和企业 IdP JWT 两种企业内部更常用的认证方式。

一、OAuth2 客户端凭证
面向服务端到服务端调用:Agent、后端服务、定时任务。调用方用现有的 AppKey / AppSecret 换一个短期 access_token,之后每次请求只带 Bearer token,不必再自己实现 HMAC 签名,各语言的 OAuth2 标准库都能直接用。REST 接口和 MCP 入口同时支持。
几点实现上的取舍:client_id = AppKey、client_secret = AppSecret,没有新增凭证体系;跨环境或其它系统签发的同 kid token 会被拒绝;服务端会话落在 Redis,删除对应 key 就是即时吊销;信创环境可把签发算法切到SM2算法加密。

二、企业 IdP JWT
已经上了 Keycloak、Azure AD、Okta、Authing 的团队,可以直接拿企业 IdP 签发的 token 调 ApiGo,不必在平台里再维护一套账号。平台只保存 IdP 的 JWKS 公钥,不接触企业侧的 client_secret,也不提供代换 token 的代理接口。

三、两种方式的差别
| 平台 OAuth2 | 企业 IdP JWT | |
|---|---|---|
| token 谁签发 | ApiGo 网关 /oauth2/token |
企业 IdP |
| 调用方凭证 | AppKey / AppSecret | IdP 的 client credentials 或用户授权 |
| 平台是否持有密钥 | 是(AppSecret) | 否(只存 IdP 公钥) |
| 应用识别 | token 内 appKey | 绑定的 (IdP, subject) |
| 适用 | 平台内新建的服务到服务调用 | 已有统一身份体系的企业 |