Skip to content

开放接口(Open API)

Erupt 支持外部系统通过 appid + secret 的方式获取 token,用于调用 erupt 接口,无需用户登录。

INFO

APPID 与 Secret 在 UPMS → Open API 菜单中管理,对应实体类为 EruptOpenApi。 查看 Open API 管理入口 →

WARNING

同一时间每个 APPID 只能存在一个有效 token,重复调用生成接口后旧 token 将立即失效。为保证安全,建议在后端服务调用该接口,避免 secret 暴露到前端。

1. 开启分布式 Session

Open API 生成的 token 依赖 Redis Session,需在配置文件中开启:

yaml
erupt:
  redis-session: true

spring:
  data:
    redis:
      database: 0
      timeout: 10000
      host: 127.0.0.1

Spring Boot 3 已移除 spring.redis.* 前缀,必须使用 spring.data.redis.*

2. 获取 Token

http
GET {{host}}/erupt-api/open-api/create-token?appid=xxx&secret=xxx

响应示例:(统一 R 包装体,业务字段位于 data 中)

json
{
  "success": true,
  "status": "SUCCESS",
  "promptWay": "NONE",
  "message": null,
  "data": {
    "token": "xxxxxxx",
    "expireTime": "20xx-01-01T00:00:00"
  }
}
字段说明
data.token访问令牌,用于后续接口调用
data.expireTimeToken 过期时间

3. 查询 Token 对应的 APPID 信息

通过 token 反查其归属的 APPID 和名称,适用于后端服务需要验证 token 来源的场景。

http
GET {{host}}/erupt-api/open-api/get-appid?token=xxx

响应示例:(统一 R 包装体,业务字段位于 data 中)

json
{
  "success": true,
  "status": "SUCCESS",
  "promptWay": "NONE",
  "message": null,
  "data": {
    "appid": "xxx",
    "name": "应用名称"
  }
}
字段说明
data.appid该 token 对应的 APPID
data.nameOpen API 应用名称

4. 调用 Erupt 接口

获取到 token 后,在请求头中携带 token 即可调用受保护的接口:

http
GET {{host}}/erupt-api/your-api
token: xxxxxxx

接口权限注解的使用方式参考 接口开发与操作日志

贡献者

The avatar of contributor named as YuePeng YuePeng
The avatar of contributor named as Claude Opus 5 (1M context) Claude Opus 5 (1M context)

页面历史

Released under the Apache-2.0 License.