Skip to content
🚀 EDDI 6.5.0

19个LLM提供商、可抓取网站并读取文件的知识库,以及沿用兼容代理版本的对话新功能

托管云 立即开始
所有集成
身份与安全OIDC

Keycloak / OIDC

使用 Keycloak 或其他 OIDC 提供方,在 EDDI 前面加上 OpenID Connect 认证,并提供管理员、编辑者、用户、查看者和审批人等角色。

你将获得

  • Manager 和 API 通过你的身份提供方登录
  • 角色:eddi-admin、eddi-editor、eddi-user、eddi-viewer,以及用于审批决定的 eddi-approver
  • 安装程序会导入 Keycloak 的现成 eddi realm
  • 以已登录用户身份发起的调用,使审计记录指向真实的人

在 EDDI 中如何工作

  1. 使用 --with-auth 运行安装程序。它会启动 Keycloak,并在首次启动时导入 eddi realm。
  2. 在 Keycloak 管理控制台中为 eddi 用户设置密码。随附的 realm 没有预设密码。
  3. 登录 Manager。为人员分配所需角色,并把审批人加入 eddi-approver。
  4. 对于已有的身份提供方,设置 QUARKUS_OIDC_* 变量(启用租户、授权服务器 URL、客户端 ID、客户端密钥)。
  5. 在 HTTP 调用中,使用 ${caller:token},以已登录用户自己的令牌调用 API,而不是共用一个凭据。

配置

摘自 EDDI 文档。诸如 your-agent-id 之类的占位符需要你自行替换。

Install with Keycloak添加 Keycloak 的安装程序选项。
bash install.sh --with-auth
Point EDDI at your identity provider外部 OIDC 提供方的环境变量,摘自 EDDI 文档。
docker run -d \
  -p 7070:7070 \
  -e MONGODB_CONNECTIONSTRING='mongodb://mongo:27017/eddi?retryWrites=true&w=majority' \
  -e QUARKUS_OIDC_TENANT_ENABLED=true \
  -e QUARKUS_OIDC_AUTH_SERVER_URL='https://keycloak.example.com/realms/eddi' \
  -e QUARKUS_OIDC_CLIENT_ID=eddi \
  -e QUARKUS_OIDC_CREDENTIALS_SECRET="$OIDC_CLIENT_SECRET" \
  labsai/eddi:6.4.0

治理

  • 在生产启动模式下,除非你明确选择退出,否则 EDDI 会拒绝在 OIDC 被禁用时启动,因此开放的管理 API 是一项决定,而不是一次意外。
  • 审批端点需要 eddi-approver 角色,或者所有者,或 eddi-admin。
  • 使用 ${caller:token} 时,审计记录里是真实的用户。共用的静态凭据会让所有操作都归并到同一个主体。

须知

  • 认证是可选的,默认关闭。安装程序配置的是 Keycloak。其他 OIDC 提供方使用相同的设置,但某些细节(例如为 A2A 公布的令牌端点)在你未设置时会假定 Keycloak 的路径。
  • 随附的 realm 导入只执行一次。之后对 JSON 的修改不会同步到正在运行的 Keycloak。

相关集成

本页的配置和行为依据 EDDI 文档,核对日期为 2026-10-14。字段名称和默认值可能随版本变化,请在所用版本的文档中确认。