跳到主要内容

OAuth 客户端

OAuth 客户端用于为第三方系统创建接入凭证,是第三方应用通过 OAuth 2.0 访问平台资源的前提。

概述​

从 开发中心 → 开发设置 → OAuth2.0 进入 OAuth 客户端管理页面。每个客户端代表一个接入方,包含一对 Client ID 与 Client Secret、允许的回调地址以及允许的权限范围。

使用流程:

  1. 在 OAuth 客户端页面点击新增,填写客户端名称、回调地址、过期时间与描述,系统生成 Client ID 与 Client Secret。
  2. 将 Client ID 与 Client Secret 提供给第三方应用。
  3. 第三方应用按 OAuth 2.0 接入流程 引导用户授权并换取访问令牌。
密钥只显示一次

Client Secret 仅在生成时显示,请及时妥善保存;如遗失只能重新生成(重新生成后旧密钥立即失效)。

配置项​

配置项说明
名称客户端名称,必填
Client ID客户端标识,创建后由系统生成,只读
Client Secret客户端密钥,创建后由系统生成,列表中以 ****** 展示
回调地址允许的回调地址(Redirect URI),一行一个,允许多个
权限范围允许申请的权限范围(Scope),逗号分隔,当前不可编辑
过期时间客户端过期时间,可选,过期后不可用
描述客户端用途说明,可选
状态启用(1)/ 停用(0),可在列表中直接切换

操作项​

操作说明
新增创建客户端,生成 Client ID 与 Client Secret
编辑修改名称、回调地址、权限范围、过期时间与描述
重新生成密钥为客户端重新生成 Client Secret,仅显示一次
启用 / 停用通过状态开关启用或停用客户端
删除删除客户端
查看详情点击客户端名称打开详情抽屉
回调地址填法

新增与编辑时,回调地址按行为单位填写(换行分隔);提交时前端会自动拆分为数组。

下一步​

属性与接口明细​

以下内容面向技术实现与 AI 检索。

客户端实体属性​

客户端存储在 system_oauthclient,实体类型为 OAuthClient,继承自 EntityBase。

属性名类型含义取值/存储值
_idstring(GUID)主键例:9f1c0b2e-...
ClientIdstring客户端标识唯一索引,系统生成
ClientSecretstring客户端密钥加密存储
ClientNamestring客户端名称显示名称
RedirectUrisstring[]允许的回调地址列表数据库列类型 text[]
AllowedScopesstring[]允许的权限范围列表数据库列类型 text[]
Statusint状态1 = 启用,0 = 停用,默认 1
ExpiredTimedatetime?过期时间可空
Descriptionstring描述可空

存储示例​

{
"_id": "9f1c0b2e-2d3a-4e6f-9c11-0f7a5b8d2e10",
"ClientId": "chm_3f2a1c...",
"ClientSecret": "********",
"ClientName": "CRM 系统接入",
"RedirectUris": [
"https://crm.example.com/callback"
],
"AllowedScopes": [
"userid",
"name",
"email",
"number"
],
"Status": 1,
"ExpiredTime": "2027-01-01T00:00:00",
"Description": "客户管理系统单点登录"
}

相关接口​

接口方法说明
POST /api/OAuthClient/AddPOST新增客户端(ClientName、RedirectUris、AllowedScopes、ExpiredTime、Description)
POST /api/OAuthClient/EditPOST编辑客户端
POST /api/OAuthClient/DeletePOST删除客户端(参数 id)
POST /api/OAuthClient/EnablePOST启用客户端(参数 id)
POST /api/OAuthClient/DisablePOST停用客户端(参数 id)
GET /api/OAuthClient/GetGET获取客户端详情(参数 id)
POST /api/OAuthClient/GetListPOST分页查询客户端列表
POST /api/OAuthClient/GenerateNewClientSecretPOST重新生成客户端密钥(参数 id,返回明文密钥)
权限范围输入框

前端新增/编辑时权限范围输入框处于禁用状态,占位提示为 userid,name,email,number;编辑时展示该客户端已有的权限范围。提交时按逗号拆分为数组。