所有接口路径前缀都是 ,需要将路径中的短名字换成实际的值,比如 /openapi/company/50b55/app/6a814/
获取应用下的所有资源,用于外部系统控制爱速搭的权限分配。
地址:GET /openapi/company/{组织短名字}/app/{应用短名字}/resources
返回示例:
获取应用下的角色列表
地址:GET /openapi/company/{组织短名字}/app/{应用短名字}/role
返回示例:
{
"status": 0,
"msg": "",
"data": {
"items": [
{
"name": "应用管理员", // 角色名称,角色名称在一个应用内不可重名
"id": "pezEbloLAB", // 角色唯一 id
"description": "系统自动创建,应用级别角色,只在应用「nw」中可见。", // 描述新
"scope": "app", // 这是应用级别
"isBultin": true, // 是否是默认创建的
"editable": true, // 是否可编辑
"deleteable": true // 是否可删除
}
]
}
}
创建应用内角色
地址:Post /openapi/company/{组织短名字}/app/{应用短名字}/role
提交内容:{"name": "角色名"}
删除角色
需要将角色 id 放到 url 中
地址:Get /openapi/company/{组织短名字}/app/{应用短名字}/role/{角色 id}/member
返回示例:
往角色中添加用户
地址:Post /openapi/company/{组织短名字}/app/{应用短名字}/role/{角色 id}/member/user
提交内容:{"email": "xxx@yyy.com"}
往角色中添加角色
地址:Post /openapi/company/{组织短名字}/app/{应用短名字}/role/{角色 id}/member/role
提交内容:{"role": " 角色 ID"}
获取应用下有哪些 ACL 配置项
用于告知第三方爱速搭中有哪些可以配置的权限,比如页面可以配置「可见」、「可写」、「可删」这三项。
返回示例:
{
"status": 0,
"msg": "",
"data": [
{
"name": "page",
"options": [
{
"name": "read",
"label": "可见"
},
{
"name": "write",
"label": "可写"
},
{
"name": "delete",
"label": "可删"
}
]
},
{
"name": "dataModel",
"options": [
{
"name": "read",
"label": "可见"
},
{
"name": "write",
"label": "可写"
},
{
"name": "delete",
"label": "可删"
}
]
},
{
"name": "dataSource",
"options": [
{
"name": "read",
"label": "可见"
},
{
"name": "write",
"label": "可写"
},
{
"name": "delete",
"label": "可删"
}
]
},
{
"name": "component",
"options": [
{
"name": "read",
},
{
"name": "write",
},
{
"name": "delete",
"label": "可删"
}
]
},
{
"name": "APICenter",
"options": [
{
"name": "read",
"label": "可见"
},
{
"name": "write",
"label": "可写"
},
{
"name": "delete",
"label": "可删"
},
{
"name": "call",
"label": "调用"
}
]
},
{
"name": "APICenterGroup",
"options": [
{
"name": "read",
"label": "可见"
},
{
"name": "write",
"label": "可写"
},
{
"name": "delete",
"label": "可删"
}
]
},
{
"name": "role",
"options": [
{
"name": "write",
"label": "可写"
},
{
"name": "delete",
"label": "可删"
}
]
}
]
}
地址:Post /openapi/company/{组织短名字}/app/{应用短名字}/role/{角色 id}/acl/role
提交内容示例,提交内容是数组,可以同时设置多个资源的权限:
获取某个应用可配置的权限点
地址: Get /openapi/company/{组织短名字}/app/{应用短名字}/acl
返回参数格式如下:
{
"status": 0,
"msg": "",
"data": {
"app": {
"key": "877f21d1cc5a",
"name": "XXX应用",
"subResources": [
{
"label": "应用访问",
"value": "read"
},
{
"label": "应用管理",
"value": "edit"
},
{
"label": "数据管理",
"value": "dataManage"
}
]
},
"page": {
"name": "页面",
"items": [
{
"id": "k1Jw8ME8Gq",
"name": "页面名",
{
"label": "可打印",
},
{
"label": "可导出",
"value": "export"
},
{
"label": "xxx接口可调用",
"value": "api.muEb9u9DdpbaGiFMhWqdjm.call"
}
],
"children": [
// 页面本身是树形结构的,所以用 tree 的格式返回
]
}
]
},
"dataModel": {
"name": "数据模型",
"items": [
{
"id": "M9QEWvywp8",
"name": "数据模型名"
}
]
},
"dataSource": {
"name": "数据源",
"items": [
{
"id": "k1Jw8ME8Gq",
"name": "数据源名"
}
]
},
"component": {
"name": "自定义组件",
"items": [
{
"id": "LM6wPMEJdb",
"name": "自定义组件名"
}
]
},
"APICenter": {
"name": "API",
"items": [
{
"id": "pezEbloLAB",
"name": "api名"
}
]
},
"APICenterGroup": {
"name": "API 分组",
"items": [
{
"id": "grOwVRwNXG",
"name": "分组名"
}
]
},
"role": {
"name": "角色",
"items": [
{
"id": "pezEbloLAB",
"name": "应用管理员"
}
]
}
}
}
获取某个应用运行态权限值
地址: Get /openapi/company/{组织短名字}/app/{应用短名字}/acl/runtime
返回参数格式如下:
获取用户在某个应用中的角色
地址: Get /openapi/company/{组织短名字}/app/{应用短名字}/role/member/{用户ID}/roles
{
"status": 0,
"msg": "",
"data": {
"companyId": "k1Jw8ME8Gq",
"appId": "7dAE5Ko59n",
"userId": "k1Jw8ME8Gq",
"roles": [
{
"roleId": "lKVZOnEBdk", // 角色ID
"roleName": "MyApp-管理员" // 角色名称
},
{
"roleId": "dl6EgeojP1",
"roleName": "MyApp-用户"
}
]
}