Skip to content

应用管理

概述

应用管理模块用于管理接入 Code Bird Cloud 平台的 OIDC/OAuth 2.1 客户端应用。每个应用代表一个需要用户认证服务的客户端程序,系统会为其分配唯一的 Client ID 和 Client Secret。

导航路径: 侧边栏 -> 应用管理

应用类型

Code Bird Cloud 支持以下四种应用类型,对应不同的 OAuth 2.1 使用场景:

类型说明典型场景
Traditional传统 Web 应用具有服务端的 Web 应用,可安全存储 Client Secret
SPA单页应用前端渲染的单页应用(如 React、Vue),无法安全存储 Secret,使用 PKCE 流程
Native原生应用移动端或桌面端原生应用(iOS、Android、Electron 等)
MachineToMachine机器对机器服务间通信,无用户交互,使用 Client Credentials 授权

应用列表

应用列表页面展示所有已创建的应用,支持分页和搜索。

列表字段

字段说明
应用名称应用的显示名称
应用类型Traditional / SPA / Native / MachineToMachine
Client ID应用的唯一客户端标识
描述应用的简要说明
创建时间应用创建时间

搜索与筛选

  • 关键词搜索 (search): 模糊匹配应用名称
  • 应用名称 (name): 精确匹配
  • 应用 ID (id): 精确匹配

创建应用

点击 "新建应用" 按钮进入创建页面。

导航路径: 应用管理 -> 新建应用

创建参数

字段必填说明
名称应用的显示名称
类型选择应用类型(Traditional / SPA / Native / MachineToMachine)
描述应用的简要说明
重定向 URIOAuth 回调地址列表(创建时可选,后续编辑配置)

API 调用:

POST /api/v1/applications

请求示例:

json
{
  "name": "我的 Web 应用",
  "type": "Traditional",
  "description": "企业管理后台",
  "redirect_uris": ["https://app.example.com/callback"]
}

创建成功后,系统会自动生成 Client ID 和 Client Secret。请妥善保管 Client Secret,它仅在创建时完整展示。

编辑应用

点击应用名称或操作列的编辑按钮,进入应用详情编辑页面。

导航路径: 应用管理 -> 编辑应用

基本信息

  • 名称: 修改应用显示名称
  • 描述: 修改应用说明
  • 类型: 查看应用类型(创建后不可更改)

OIDC 客户端元数据

字段说明
redirect_urisOAuth 重定向 URI 列表
post_logout_redirect_uris登出后重定向 URI 列表
cors_allowed_originsCORS 允许的源列表
grant_types授权类型(如 authorization_code、refresh_token、client_credentials)
response_types响应类型(如 code)
token_endpoint_auth_method令牌端点认证方式
logo_uri应用 Logo URL

自定义客户端元数据

字段说明
always_issue_refresh_token是否始终发放 Refresh Token
rotate_refresh_token是否在刷新时轮换 Refresh Token
refresh_token_ttl_in_daysRefresh Token 有效期(天)
access_token_ttl_in_secondsAccess Token 有效期(秒)
id_token_ttlID Token 有效期(秒)

API 调用:

PATCH /api/v1/applications/:id

请求示例:

json
{
  "name": "更新后的应用名",
  "oidc_client_metadata": {
    "redirect_uris": ["https://app.example.com/callback"],
    "grant_types": ["authorization_code", "refresh_token"]
  },
  "custom_client_metadata": {
    "access_token_ttl_in_seconds": 3600,
    "always_issue_refresh_token": true
  }
}

轮换 Client Secret

当 Client Secret 可能泄露或需要定期更换时,可以执行密钥轮换操作。轮换后,旧的 Client Secret 将立即失效。

操作方式: 在应用编辑页面点击 "轮换密钥" 按钮。

API 调用:

POST /api/v1/applications/:id/secret

响应示例:

json
{
  "client_id": "app_xxxxxxxxxxxx",
  "client_secret": "new_secret_xxxxxxxxxx"
}

注意: 轮换密钥后,请立即更新使用该应用凭证的所有服务配置,否则将导致认证失败。

删除应用

删除应用将永久移除该应用及其所有配置。此操作不可逆。

API 调用:

DELETE /api/v1/applications/:id

注意: 删除应用前,请确保没有服务仍在使用该应用的 Client ID 和 Client Secret 进行认证。

Released under the MIT License.