开放接口(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.1Spring 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.expireTime | Token 过期时间 |
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.name | Open API 应用名称 |
4. 调用 Erupt 接口
获取到 token 后,在请求头中携带 token 即可调用受保护的接口:
http
GET {{host}}/erupt-api/your-api
token: xxxxxxx接口权限注解的使用方式参考 接口开发与操作日志。