|
| 1 | +--- |
| 2 | +titie: 入站认证 |
| 3 | +description: 通过入站认证访问 Agent |
| 4 | +navigation: |
| 5 | + icon: i-lucide-lock |
| 6 | +--- |
| 7 | + |
| 8 | +VeADK 支持 API key 和 OAuth2 方式的入站认证。 |
| 9 | + |
| 10 | +## API Key 认证 |
| 11 | + |
| 12 | +API key 认证是通过唯一字符串密钥验证请求方身份、授权访问 API 资源的常见认证方式。VeADK 约定将 API key 通过 URL 的 `token` 参数传递。 |
| 13 | + |
| 14 | +::warning |
| 15 | +API key 仅适用于 A2A/MCP Server 部署模式,不建议在 VeADK Web 部署模式中使用,更推荐采用 OAuth2 认证。 |
| 16 | +:: |
| 17 | + |
| 18 | +### 使用方式 |
| 19 | + |
| 20 | +您可以通过脚手架创建 Agent 时指定 API key 认证方式,或者部署已有项目时添加 `--auth-method=api-key` 参数启用该认证。 |
| 21 | + |
| 22 | +当用户访问应用时,API 网关将验证用户 `token` URL 参数中携带的 API key。 |
| 23 | + |
| 24 | +## OAuth2 单点登录 |
| 25 | + |
| 26 | +OAuth2 是一种开放标准的授权框架,通过令牌而非直接暴露账号密码,安全实现第三方应用对资源的有限访问。 |
| 27 | + |
| 28 | +OAuth2 单点登录是基于 OAuth2 授权框架实现的身份认证方案,用户一次登录后可免重复验证访问多个关联应用。VeADK Web 支持 OAuth2 单点登录的认证方式。 |
| 29 | + |
| 30 | +::warning |
| 31 | +使用 OAuth2 单点登录需要版本为 4.0.0 及以上的 API 网关。 |
| 32 | +:: |
| 33 | + |
| 34 | +### 使用方式 |
| 35 | + |
| 36 | +您可以通过脚手架创建 Agent 时指定 OAuth2 认证方式,或者部署已有项目时添加 `--auth-method=oauth2` 参数启用该认证,VeADK 将自动为您创建 Identity 用户池和客户端。如果您需要使用已有的用户池或客户端,您可以在部署时添加 `--user-pool-name` 和 `--client-name` 参数指定用户池和客户端。 |
| 37 | + |
| 38 | +在部署 VeADK Web 应用后,您可以在 Identity 中创建用户。 |
| 39 | + |
| 40 | +1. 登录火山引擎控制台,导航到 Agent Identity 服务 |
| 41 | +2. 在左侧导航树中,选择 身份认证 > 用户池管理,选择用户池 |
| 42 | +3. 在用户池的用户标签页中,点击 新建用户,填写用户信息并点击 确定 |
| 43 | + |
| 44 | +当用户访问 VeADK Web 应用时,API 网关将引导用户至登录页完成登录。您可以在 `Authorization` 请求头中获得用户的 JWT 令牌。 |
| 45 | + |
| 46 | +## OAuth2 JWT 认证 |
| 47 | + |
| 48 | +OAuth2 JWT 认证是将 OAuth2 授权框架与 JWT 结合,用 JWT 格式承载授权令牌的认证方式。A2A/MCP Server 支持 OAuth2 JWT 的认证方式。 |
| 49 | + |
| 50 | +### 使用方式 |
| 51 | + |
| 52 | +您可以通过脚手架创建 Agent 时指定 OAuth2 认证方式,或者部署已有项目时添加 `--auth-method=oauth2` 参数启用该认证,VeADK 将自动为您创建 Identity 用户池。如果您需要使用已有的用户池,您可以在部署时添加 `--user-pool-name` 参数指定用户池。 |
| 53 | + |
| 54 | +在部署 A2A/MCP Server 应用后,您可以在 Identity 中管理客户端。 |
| 55 | + |
| 56 | +1. 登录火山引擎控制台,导航到 Agent Identity 服务 |
| 57 | +2. 在左侧导航树中,选择 身份认证 > 用户池管理,选择用户池 |
| 58 | +3. 在客户端的用户标签中,点击 新建客户端,填写 客户端名称,选择 客户端类型 并点击确定 |
| 59 | + |
| 60 | +您可以创建 M2M 类型的客户端用于验证。您可以使用以下 curl 命令生成 JWT 令牌。 |
| 61 | + |
| 62 | +```bash [Terminal] |
| 63 | +REGION="cn-beijing" |
| 64 | +USER_POOL_ID="FILL_IN_YOUR_USER_POOL_ID" |
| 65 | +CLIENT_ID="FILL_IN_YOUR_CLIENT_ID" |
| 66 | +CLIENT_SECRET="FILL_IN_YOUR_SECRET" |
| 67 | + |
| 68 | +curl --location "https://auth.id.${REGION}.volces.com/userpool/${USER_POOL_ID}/oauth/token" \ |
| 69 | + --header "Content-Type: application/x-www-form-urlencoded" \ |
| 70 | + --header "Authorization: Basic $(echo -n "${CLIENT_ID}:${CLIENT_SECRET}" | base64)" \ |
| 71 | + --data-urlencode "grant_type=client_credentials" |
| 72 | +``` |
| 73 | + |
| 74 | +当用户访问 A2A/MCP Server 应用时,API 网关将验证用户携带的 JWT 令牌。您可以在 `Authorization` 请求头中获得用户的 JWT 令牌。 |
0 commit comments