权限系统(PS)
最后更新:2024-08-27
1. 背景¶
政企人员分工不同,对权限通常希望能严格管控。尤其是新应用的权限模型不是交给业务应用开发人员,为避免因为开发人员的水平导致参差不齐,希望收拢在IT管理人员中统一进行管控,这点在金融、物流、房地产等中尤其明显。IDP产品提供了PS权限模块,实现了三级授权模式,同时对权限的授予过程进行追踪监控,提供权限视图,对一个用户拥有的权限可以一目了然。
2. 概述¶
针对应用、角色/岗位、数据,IDP产品提供了PS(Policy Server)模块,针对性提出了一二三级授权的概念,以指导用户的权限实践。
从上图可以看出,IDP产品提供了人员到资源,人员通过组到资源,人员通过角色到资源,一组资源的访问形成角色等多种灵活的方式。
本文档将介绍如何通过API调用,实现一个自己开发业务应用SP, 来调用IDP的PS模块来替代自建的角色和资源管理,实现基于RBAC的二级,三级授权等。第三方接入权限系统流程如下图,具体参考第4节集成流程。
3. 术语定义¶
参考:IDP中产品术语介绍
4. 实现原理¶
第三方应用系统在每次登录和鉴权,均需要通过调用 IDaaS 权限系统 API 接口来获取账号的角色、权限资源来完成统一授权管理。
5. 场景描述¶
接下来我们将第三方业务系统 (OA业务系统)与 IDaaS 权限系统对接,完成在 IDaaS 权限平台集中分配账号在 OA 业务系统内的权限。
OA 业务系统的系统资源如下所示:
OA 业务系统分为 6 大功能模块,不同账号在各个模块的菜单、按钮及其内部数据等资源的可见和使用权限也不一致。例如:
普通用户,拥有【通讯录】【工作台】【行政办公】【项目管理】等基本权限
系统管理员,拥有【系统管理】权限
HR 部门管理员,【机构人员管理】权限
需要在 IDaaS 权限平台内对接 OA 业务系统的权限模型,并在 IDaaS 权限平台完成集中授权。
6. 集成流程¶
6.1. 准备工作¶
本章节内容需要你已经创建至少一个应用。如果没有创建,请前往左侧应用管理创建一个应用
点击左侧菜单中的权限系统
点击 【新增系统】。
选择之前创建的应用,输入权限系统名称, 点击提交。
在【OA业务系统】的【详情】中获取 AppKey、AppSecret 用于 API 接口的调用。
API 获取 access_token 方式,请参考 【7 权限系统 API 接口清单】 中 【7.1.1 获取权限系统授权 access_token】。
6.2. 定义资源¶
无论是某个功能、菜单、按钮的查看权限、使用权限,还是某些特定数据的访问权限,都属于一种资源(Resource)。资源支持嵌套树形结构。管理员在这里可以新增、导入、删除、编辑资源,也可以为某资源关联到角色使用。
我们需要在 IDaaS 上定义 OA 业务系统的资源,构建权限树。
资源创建方式在 IDaaS 中有 3 种:API 接口方式、管理员手动操作、表格批量导入。
创建好的权限树如下图所示:
6.2.1. 权限资源模型¶
IDaaS 权限系统将资源分为以下五种类型:
• 菜单
• 按钮
• API
• 数据
• 其他
权限资源类型作用:第三方业务系统可以根据不同的权限资源类型做不同的过滤或展示,需要第三方系统自己实现。例如:
菜单类型权限资源:可作为页面导航栏、二级菜单等页面可见范围控制。
按钮类型权限资源:可作为导出日志报表按钮、新建服务、注销企业等重要功能按钮的权限控制。
API 类型权限资源:可作为控制账户调用API接口权限以及数据权限的管理。如A用户有调用API接口权限,B用户没有调用API接口权限。
数据类型权限资源:支持新建数据模型,对于一个对象的多种操作建模,如订单系统中涉及到委派订单、进度查询等均可在数据模型中定义。
不同账号的数据显示范围也可在行规则、列规则中控制。如某骑手账号只能看到骑手自己的订单,可通过行规则实现。如只获取到北京市朝阳区的骑手账号,可通过列规则实现。
其他类型权限资源满足灵活场景下的自定义需求。
6.2.2. API 接口方式定义资源¶
创建权限资源请参考 【7 权限系统 API 接口清单】 中 【7.2.6 新增权限】
• 创建不同类型的资源(菜单、按钮、API、数据)通过type字段区分,menu 代表菜单权限,button 代表按钮权限,data 代表是数据权限。
• 设置资源的权限值,第三方业务系统可根据权限值判断权限。
编辑权限资源请参考 【7 权限系统 API 接口清单】 中 【7.2.7 编辑权限】
删除权限资源请参考 【7 权限系统 API 接口清单】 中 【7.2.8 删除权限】
6.2.3. 管理员手动操作¶
以下流程需要在IDaaS管理界面操作,点击【权限系统】栏目
点击【OA业务系统】中的【权限资源】
点击【新增模块资源】管理员手动操作。
在新增资源侧边页,完成新增资源参数的配置
点击确定创建成功后,会在资源管理页面展示创建的权限资源。
选中需要创建子级资源对应的父资源,再点击操作栏中的【新增模块资源】。
在新增资源侧边页,完成新增资源参数的配置。
点击确定创建成功后,会在资源管理页面展示创建的权限资源,并且路径为之前选择的父级资源。
6.2.4. 表格批量导入¶
管理员可以在 excel 表格中维护权限资源的基本信息和层级关系,通过使用导入功能批量导入权限资源。
在权限资源页面,点击导【导入资源】。
下载导入格式范例文档,并根据文档填写系统的所有权限资源的信息。
点击【上传文件】上传填写好的文件。
点击导入文件。
系统会弹窗提示导入结果,并在资源管理页面展示导入成功的资源。
6.3. 定义角色¶
角色为一定权限的集合,需要先创建角色,在下一步完成权限资源和角色的关联。
在 IDaaS 中定义(创建)角色方式有 3 种:API接口方式、管理员手动操作、表格批量导入。
6.3.1. API 接口方式定义角色¶
创建权限资源请参考 【7 权限系统 API 接口清单】 中 【7.2.2 新增角色】
编辑权限资源请参考 【7 权限系统 API 接口清单】 中 【7.2.3 编辑角色】
删除权限资源请参考 【7 权限系统 API 接口清单】 中 【7.2.4 删除角色】
6.3.2. 管理员动手操作¶
以下流程需要在IDaaS管理界面操作,点击【权限系统】栏目
点击【OA业务系统】中的【角色管理】
6.3.2.1. 创建角色¶
在角色管理页面,单击【新增角色】。
在【新增角色】侧边页,完成以下配置。
角色名称:为角色命名。角色名称应唯一。
权限值:设置角色的权限值,第三方业务系统可根据权限值判断角色/权限。
状态:是否启用角色。
描述:添加角色备注信息。
完成配置后,单击【提交】。
6.3.2.2. 编辑角色¶
在角色管理页面,定位到要操作的角色,单击其操作列下的【修改】。
在【角色管理】侧边页【基本信息】页签下,根据需要修改角色的配置属性。
修改完配置后,单击【保存】。
6.3.2.3. 删除角色¶
在角色管理页面,定位到要操作的角色,单击其操作列下的【删除】。
注意 删除角色之前,需要先禁用该角色
在提示对话框中,单击【确定】。
6.3.2.4. 批量删除角色¶
在角色管理页面,勾选要操作的角色,单击页面下面的【批量删除】。
在提示对话框中,单击【确定】。
6.3.2.5. 表格批量导入¶
在角色管理页面,点击 【导入】-【导入角色】。
下载【角色格式范例文档】,并根据文档填写角色基本信息。
点击【上传文件】,选择填写好的文件。
点击【导入文件】。
在【导入角色】侧边页,确认导入数据是否正确,确认无误后点击【确定上传导入】。导入成功后,会在角色管理页面展示导入的角色。
6.4. 角色管理权限¶
当角色创建完成后,就需要对角色进行授权了,我们将定义好的角色按需要进行权限关联即可,从而建立权限资源 - 角色对应关系。
我们支持角色资源授权方式有 3 种:API接口方式、管理员手动操作、表格批量导入。
6.4.1. API 接口方式资源关联角色¶
6.4.2. 管理员手动操作¶
以下流程需要在IDaaS管理界面操作,点击【权限系统】栏目
点击【OA业务系统】中的【角色管理】
6.4.2.1. 关联权限¶
在【角色管理】页面,点击【某个角色】右侧的【关联权限】按钮。
在弹出的页面中选择要关联的权限即可。
6.4.2.2. 表格批量导入¶
在角色管理页面,点击【导入】- 【导入角色关联权限】
2. 下载导入角色关联权限格式范例文档,并根据文档填写角色关联权限信息。
3. 点击上传文件,选择填写好的文件。
4. 点击【导入文件】。
5. 在导入角色侧边页,确认导入数据是否正确,确认无误后点击【确定上传导入】。
6.5. 角色关联账户¶
角色权限关联好后,对账号进行关联,给每个账号关联上相应的角色信息,也可以直接授予账号权限资源。
我们支持角色账号授权方式有 3 种:API 接口方式、管理员手动操作、表格批量导入。
6.5.1. 管理员手动操作¶
以下流程需要在IDaaS管理界面操作,点击【权限系统】栏目
点击【OA业务系统】中的【授权管理】
在授权管理页面,可以通过账号、机构、组、分类的维度关联该机构、组、分类内账号的角色和权限资源,也可以通过权限资源和角色维度选择哪些账号、机构、组、分类可以拥有该角色或资源。
点击添加关联,可选择账户,添加账户和角色的关联关系。
添加关联关系后,账户会自动继承角色的权限资源。
选中再次点击取消关联,可删除账户和角色的关联关系。
6.5.2. 表格批量导入¶
在角色管理页面,点击 【导入】-【导入角色成员】
下载角色成员格式范例文档,并根据文档填写角色关联账号信息。
点击【上传文件】,选择填写好的文件
点击【导入文件】。
在导入角色侧边页,确认导入数据是否正确,确认无误后点击【确定上传导入】。
到这里我们的授权环节就全部完成了。
6.6. 登录及获取权限¶
当我们完成以上步骤之后,接下来介绍在账号登录时是如何获取到该账号在 IDaaS 权限系统内的账号权限。
6.6.1. API 方式登录及获取权限¶
通过调用 IDaaS 权限系统 API 接口来获取账号的角色、权限资源。
查询当前账户的角色和权限资源列表,请参考 【7 权限系统 API 接口清单】 中 【7.3.6 获取权限系统指定用户的角色和权限】。
查询被授予的角色所包含的权限资源列表,请参考 【7 权限系统 API 接口清单】 中 【7.3.1 获取指定角色的已关联权限(分页)】。
6.6.2. token 方式登录及获取权限¶
如果 OA 业务系统是基于 OIDC 协议单点登录的话,我们可以先将 OA 业务系统集成到 IDaaS 平台,将应用绑定到权限系统。
6.7. SP 前端展示¶
当 OA 业务系统服务端获取该账号的权限信息后,按权限资源情况展示所拥有的菜单、按钮等资源即可。这里会涉及 OA业务系统的研发工作,具体前端展现方式按实际情况即可。通常会有两种方式:
无权限的功能菜单不展示。
所有功能菜单展示,但未授权的菜单不可使用,点击提示“无权访问”等提示信息。
6.8. 鉴权¶
鉴权即当某账号访问某项菜单或按钮时,判断是该账号否具备此权限。例如,张三在登录到 O A业务系统后,当他每次点击 OA 业务系统的功能菜单时,OA 业务系统通过 API 接口向 IDaaS 权限系统查询该账号是否拥有访问此功能菜单的权限,当返回值判断是否可以访问该功能菜单。
6.8.1. 实时鉴权¶
IDaaS 权限系统提供API接口来服务于 SP 进行鉴权。我们可以使用用户的角色、账户名称、权限外部 ID、权限值来进行鉴权。
在 IDaaS 权限系统中查询当前账户是否为允许访问该权限资源的角色,请参考 【7 权限系统 API 接口清单】 中 【7.4.1 判断用户是否有角色】。
根据账号和访问资源的权限值在 IDaaS 权限系统中查询是否有访问权限,请参考 【7 权限系统 API 接口清单】 中 【7.4.3 根据权限值判断用户是否有权限】。
根据账号和在 IDaaS 权限的外部 ID 查询是否有访问权限,请参考 【7 权限系统 API 接口清单】 中 【7.4.2 根据权限 uuid 判断用户是否有权限】。
6.8.2. 登录时获取全部权限¶
同时支持在账号登录时获取其全部权限,在第三方应用系统中以 token 方式鉴权。缺点:在一次登录后到 access_token 失效前,均无法保证权限的实时性。
由于浏览器 URL 长度限制,采用 OIDC 协议做认证+授权时,授权的权限列表过长,建议以角色维度授权。
查询当前账户的全部角色和权限资源列表,请参考 【7 权限系统 API 接口清单】 中 【7.3.6 获取权限系统指定用户的角色和权限】。
6.9. 其他API接口清单¶
根据权限系统 ID 查询在 IDaaS 权限系统中该权限系统的外部 ID、创建时间等详情信息,请参考 【7 权限系统 API 接口清单】 中 【7.1.2 获取权限系统信息】。
获取到指定应用权限系统的所有角色,请参考 【7 权限系统 API 接口清单】 中 【7.2.1 获取权限系统的所有角色(分页)】。
根据账号和权限树的父节点 ID 查询该账号在此节点下的已授权权限,请参考 【7 权限系统 API 接口清单】 中 【7.3.4 获取指定权限节点下,用户已授权的权限】。
查询某角色的授权账号列表,请参考 【7 权限系统 API 接口清单】 中 【7.3.1 获取角色所有已授权用户(分页)】。
查看某账号的 access_token 是否过期,请参考 【7 权限系统 API 接口清单】 中 【7.5.2 验证用户 access_token 是否过期】。
7. 权限系统 API 接口清单¶
7.1. 权限系统全局接口¶
7.1.1. 获取权限系统授权 access_token¶
接口地址
POST http://your-idaas-domain/oauth/token
接口说明
所有的权限系统相关的接口,都是受保护的资源。只有通过本接口获取到 access_token,才能继续调用后续接口。
access_token 的使用方式有两种:
第一种: Header 参数传递
头名称为 Authorization,值为Bearer {access_token} (请注意Bearer和access_token之间的空格)
第二种: Query 参数传递
在请求URL的最后添加参数。如: http://your-idaas-domain/?access_token={access_token}
请求参数授权管理
参数 |
类型 |
必须 |
示例值 |
描述 |
---|---|---|---|---|
client_id |
string |
是 |
78d8be99ef30197c31888f5d2d1390a6pHn71****** |
从权限系统详情中获取到的 AppKey |
client_secret |
string |
是 |
96csUmei1g0tL629ufrVMZviFie7NWBOnGYs****** |
从权限系统详情中获取到的 AppSecret |
grant_type |
string |
是 |
固定值:client_credentials |
|
scope |
string |
是 |
固定值:read |
返回参数
参数 |
类型 |
示例值 |
描述 |
---|---|---|---|
access_token |
string |
bd3a80ca-24c3-4da8-836f-9efcb2c52c4b |
调用接口的令牌 |
token_type |
string |
Bearer |
固定值 |
expires_in |
string |
43199 |
access_token 过期时间,单位为秒。7200 秒为 2 小时。 |
scope |
array |
[“read”] |
固定值 |
7.1.1.1. 示例¶
请求示例:
http://{your-idaas-domain}/oauth/token?client_id=78d8be99ef30197c318885d2d1390a6pHn71******&client_secret=96csUmei1g0tL629ufrVMZviFie7NWBOnGYs******&grant_type=client_credentials&scope=read
正常返回示例:
{"access_token":"ATfa178c17dbfd38950b85aac188112f8a3w7Vukk1tM0","scope":["read"],"token_type":"bearer","expires_in":7199}
7.1.2. 获取权限系统信息¶
接口地址
POST /api/bff/v1.2/developer/ps/details
接口说明
获取权限系统的基本信息。
请求参数
参数 |
类型 |
必须 |
示例值 |
描述 |
---|---|---|---|---|
access_token |
string |
是 |
bd3a80ca-24c3-4da8-836f-9efcb2c52c4b |
|
psId |
string |
是 |
Fgh9sKSS |
系统id,详情处可见 |
返回参数
参数 |
类型 |
示例值 |
描述 |
---|---|---|---|
uuid |
string |
bd3a80ca-24c3-4da8-836f-9efcb2c52c4b |
权限系统唯一标识 |
createTime |
string |
2019-09-14 13:54 |
权限系统创建时间 |
archived |
boolean |
false |
逻辑删除,false代表正常,true代表已删除 |
psId |
string |
AbcaPSKkss |
权限系统id |
name |
string |
43199 |
权限系统名称 |
remark |
string |
这是一个针对应用的权限系统。 |
权限系统描述 |
creator |
string |
admin |
权限系统创建人 |
enabled |
boolean |
true |
是否已启用,true代表启用,false代表禁用 |
示例
请求示例:
{base_url}/api/bff/v1.2/developer/ps/details?access_token={access_token}
正常返回示例:
{
"success": true,
"code": "200",
"message": null,
"requestId": "1709178403165$26933b9f-d357-831d-01cc-8ee83ffc3f5e",
"data": {
"uuid": "4a729bc38533fb43ce5775c57c254215BoPDQd5tNIv",
"createTime": "2024-02-29 11:22",
"archived": false,
"name": "OA应用",
"psId": "guaJnwcfXn",
"remark": null,
"creator": "test",
"enabled": true
}
}
7.2. 角色管理接口¶
7.2.1. 获取权限系统的所有角色(分页)¶
接口地址
GET /api/bff/v1.2/developer/ps/all_roles
接口说明
获取指定权限系统下的角色信息。
请求参数
参数 |
类型 |
必须 |
示例值 |
描述 |
---|---|---|---|---|
access_token |
string |
是 |
bd3a80ca-24c3-4da8-836f-9efcb2c52c4b |
|
currentPage |
int |
否 |
1 |
查询第几页的数据,从 1 开始 |
pageSize |
int |
否 |
10 |
每页查询多少条目,不填写默认10条 |
psId |
String |
是 |
hU2czV4pMR |
权限系统id |
返回参数
参数 |
类型 |
示例值 |
描述 |
---|---|---|---|
List |
Array |
见下面LIST表 |
|
currentPage |
int |
1 |
当前页数,从 1 开始 |
totalSize |
int |
2 |
总角色数量 |
pageSize |
int |
10 |
一页包含的角色数量 |
psId |
string |
hU2czV4pMR |
当前 PS 系统 id |
list 表:
参数 |
类型 |
示例值 |
描述 |
---|---|---|---|
uuid |
string |
4c9b9f14e82a5d4978d5ed229ec1ae4d6912xmCXA1l |
角色唯一标识(角色外部id) |
name |
string |
测试角色 |
角色名,同一个权限系统内,角色名是唯一的,最长64字符,不能为空 |
permissionValue |
string |
test_role |
角色的权限值 |
remark |
string |
admin |
描述 |
enabled |
boolean |
true |
是否已启用 |
示例
请求示例
{base_url}api/bff/v1.2/developer/ps/all_roles?psId=guaJnwcfXn¤tPage=1&access_token={access_token}
正常返回示例
{
"success": true,
"code": "200",
"message": null,
"requestId": "D537580C-A5A2-4557-AEDD-3294DFB8ECE6",
"data": {
"list":[{
"uuid": "4c9b9f14e82a5d4978d5ed229ec1ae4d6912xmCXA1l",
"name": "Michael 测试角色",
"permissionValue": "michael_test_role",
"remark": "",
"enabled": false
},
{
"uuid": "61a779e3b2ac948d8768bb03801f99d9gRSYuTIStRH",
"name": "Michael 测试角色 2",
"permissionValue": "michael_test2",
"remark": "",
"enabled": true
}],
"totalSize": 2,
"currentPage": 1,
"pageSize": 10,
"psId": "hU2czV4pMR"
}
}
7.2.2. 新增角色¶
接口地址
POST /api/bff/v1.2/developer/ps/role/create?access_token={access_token}
接口说明
向当前的权限系统中新增一个角色。
请求参数
参数 |
类型 |
必须 |
示例值 |
描述 |
---|---|---|---|---|
access_token |
string |
是 |
bd3a80ca-24c3-4da8-836f-9efcb2c52c4b |
|
name |
string |
是 |
测试角色 |
角色名,同一个权限系统内,角色名是唯一的,最长64字符,不能为空 |
permissionValue |
string |
是 |
test_role |
角色的权限值,统一个权限系统内,角色的权限值是唯一的,最长64字符, |
enabled |
boolean |
是 |
true |
是否启用角色 |
psId |
String |
是 |
hU2czV4pMR |
PS系统id |
remark |
String |
否 |
这是一个测试使用的角色 |
角色描述信息,最长255字符,可以为空 |
返回参数
参数 |
类型 |
示例值 |
描述 |
---|---|---|---|
roleUuid |
string |
447fed833d8739ecb1caf6f38af14e65tthuiDBac88 |
新生成的角色 全局唯一标识 |
示例
请求示例
{base_url}/api/bff/v1.2/developer/ps/role/create?access_token=bd3a80ca-24c3-4da8-836f-9efcb2c52c4b
请求入参示例
{
"name":"测试角色",
"permissionValue":"test_role",
"enabled":true,
"remark":"这是一个测试使用的角色",
"psId":"hU2czV4pMR"
}
正常返回示例
{
"success":true,
"code":"200",
"message":null,
"requestId":"51331044-A2FE-474A-BA0B-BF84599D8AEE",
"data":{
"roleUuid":"447fed833d8739ecb1caf6f38af14e65tthuiDBac88"
}
}
7.2.3. 编辑角色¶
接口地址
PUT /api/bff/v1.2/developer/ps/role/update?access_token={access_token}
接口说明
修改一个现有角色。
请求参数
参数 |
类型 |
必须 |
示例值 |
描述 |
---|---|---|---|---|
access_token |
string |
是 |
bd3a80ca-24c3-4da8-836f-9efcb2c52c4b |
|
uuid |
string |
是 |
447fed833d8739ecb1caf |
待修改的角色全局唯一标识,角色外部id,必填 |
name |
string |
是 |
测试角色 |
角色名,同一个权限系统内,角色名是唯一的,最长64字符,如果为空则代表不修改 |
permissionValue |
string |
是 |
test_role |
角色的权限值,统一个权限系统内,角色的权限值是唯一的,最长64字符, |
enabled |
boolean |
是 |
true |
是否启用角色 |
psId |
String |
是 |
hU2czV4pMR |
PS系统id |
remark |
String |
否 |
这是一个测试使用的角色 |
角色描述信息,最长255字符,可以为空 |
返回参数
无。
示例
请求示例
{base_url}/api/bff/v1.2/developer/ps/role/update?access_token=bd3a80ca-24c3-4da8-836f-9efcb2c52c4b
请求入参示例
{
"name":"测试角色",
"uuid":"447fed833d8739ecb1caf6f38af14e65tthuiDBac88",
"permissionValue":"test_role",
"enabled":true,
"remark":"这是一个测试使用的角色",
"psId":"hU2czV4pMR"
}
正常返回示例
{"success":true,"code":"200","message":null,"requestId":"51331044-A2FE-474A-BA0B-BF84599D8AEE"}
7.2.4. 删除角色¶
接口地址
DELETE /api/bff/v1.2/developer/ps/role/delete/{uuid}?access_token={access_token}
接口说明
删除角色,仅能删除禁用的角色
请求参数
参数 |
类型 |
必须 |
示例值 |
描述 |
---|---|---|---|---|
access_token |
string |
是 |
bd3a80ca-24c3-4da8-836f-9efcb2c52c4b |
|
uuid |
string |
是 |
447fed833d8739ecb1caf6f38af14e65tthuiDBac88 |
待删除的角色全局唯一标识,角色外部id |
返回参数
无。
示例
请求示例
{base_url}/api/bff/v1.2/developer/ps/role/delete/4c9b9f14e82a5d4978d5ed229ec1ae4d6912xmCXA1l?access_token=bd3a80ca-24c3-4da8-836f-9efcb2c52c4b
正常返回示例
{"success":true,"code":"200","message":null,"requestId":"51331044-A2FE-474A-BA0B-BF84599D8AEE","data": null}
7.2.5. 获取权限系统的资源(分页)¶
接口地址
GET /api/bff/v1.2/developer/ps/permission/paginated
接口说明
获取权限系统的资源(分页),支持通过父级查询子级。
请求参数
参数 |
类型 |
必须 |
示例值 |
描述 |
---|---|---|---|---|
access_token |
string |
是 |
bd3a80ca-24c3-4da8-836f-9efcb2c52c4b |
|
currentPage |
int |
否 |
1 |
查询第几页的数据,从 1 开始 |
pageSize |
int |
否 |
10 |
每页查询多少条目,不填写默认10条 |
psId |
String |
是 |
hU2czV4pMR |
PS系统id |
parentPermissionUuid |
String |
否 |
1dd90f467e3b3d7662e54ca9f3cfa6fa1d3ojutCdNA |
父级资源uuid |
keyWord |
String |
否 |
permission |
搜索权限名称或权限值关键字(右模糊查询) |
返回参数
参数 |
类型 |
示例值 |
描述 |
---|---|---|---|
List |
Array |
见下面LIST表 |
|
currentPage |
int |
1 |
当前页数,从 1 开始 |
totalSize |
int |
2 |
总角色数量 |
pageSize |
int |
10 |
一页包含的角色数量 |
perPageSize |
int |
10 |
当前请求时参数返回 |
psId |
string |
hU2czV4pMR |
当前 PS 系统 id |
list 表:
参数 |
类型 |
示例值 |
描述 |
---|---|---|---|
uuid |
string |
4c9b9f14e82a5d4978d5ed229ec1ae4d6912xmCXA1l |
权限全局唯一标识 |
name |
string |
permission_name |
权限资源名称 |
permissionValue |
string |
permission_value |
权限资源值 |
remark |
string |
admin |
描述 |
relationUrl |
string |
否 |
http:?/your-domain.co |
displayOrder |
long |
否 |
99 |
creator |
string |
test |
创建账户名 |
enterpriseUuid |
string |
1228c04ba88eb0bf9b6ac73ca662981c4MeFW4wy66B |
公司uuid |
psSystemUuid |
string |
4a55707757aa821e15282acc47c9ca479qwwur4FrM8 |
权限系统uuid |
parentPermissionUuid |
string |
677f5f6f1fa474403505423d6b9685d5ph6TlIFmPte |
父级权限资源uuid |
defaultPermission |
boolean |
false |
是否为默认的PS权限 |
groupId |
string |
- |
对默认权限资源进行分组 |
thirdPermission |
boolean |
false |
是否为三级权限 |
imported |
boolean |
false |
是否是导入的权限资源 |
parentPermissionExternalId |
string |
677f5f6f1fa474403505423d6b9685d5ph6TlIFmPte |
父级的外部ID |
externalId |
string |
7241f8c9c04d6f9f55635a6d4dd7ac24E298PKegwEr |
外部ID |
type |
string |
menu |
类型 |
directory |
string |
test02 |
权限资源路径 |
isParent |
boolean |
false |
是否是父级权限资源 |
createTime |
string |
2024-08-07 15:18 |
创建时间 |
archived |
boolean |
false |
逻辑删除标识 |
示例
请求示例
{base_url}/api/bff/v1.2/developer/ps/permission/paginated?currentPage=1&psId=nT1535wTeM&access_token={access_token}
正常返回示例
{
"success": true,
"code": "200",
"message": null,
"requestId": "1723175410941$8f1603d4-aed3-94d5-e495-9024eb73ccfd",
"data": {
"list": [
{
"uuid": "7241f8c9c04d6f9f55635a6d4dd7ac24E298PKegwEr",
"createTime": "2024-08-07 15:18",
"archived": false,
"name": "test013",
"permissionValue": "test013",
"relationUrl": null,
"remark": null,
"creator": "test",
"enterpriseUuid": "1228c04ba88eb0bf9b6ac73ca662981c4MeFW4wy66B",
"psSystemUuid": "4a55707757aa821e15282acc47c9ca479qwwur4FrM8",
"parentPermissionUuid": "677f5f6f1fa474403505423d6b9685d5ph6TlIFmPte",
"defaultPermission": false,
"groupId": null,
"thirdPermission": false,
"imported": false,
"parentPermissionExternalId": "677f5f6f1fa474403505423d6b9685d5ph6TlIFmPte",
"externalId": "7241f8c9c04d6f9f55635a6d4dd7ac24E298PKegwEr",
"type": "menu",
"displayOrder": 1,
"directory": "test012",
"parent": false
}
],
"totalSize": 1,
"searchKey": null,
"searchVal": null,
"psSystemUuid": "4a55707757aa821e15282acc47c9ca479qwwur4FrM8",
"enterpriseUuid": null,
"permissionUuidCollection": null,
"parentPermissionUuid": "677f5f6f1fa474403505423d6b9685d5ph6TlIFmPte",
"type": null,
"showAll": true,
"psId": "nT1535wTeM",
"keyWord": null,
"permissionValue": null,
"pageSize": 10,
"currentPage": 1,
"totalPages": 1,
"hasNext": false,
"hasPrevious": false
}
}
7.2.6. 新增权限¶
接口地址
POST /api/bff/v1.2/developer/ps/permission/create
接口说明
向当前的权限系统中新增一个权限。
IDaaS 权限系统可以维持一个属性接口,所以可以通过 parentUuid 参数指定父级权限。
请求参数
参数 |
类型 |
必须 |
示例值 |
描述 |
---|---|---|---|---|
access_token |
string |
是 |
bd3a80ca-24c3-4da8-836f-9efcb2c52c4b |
|
name |
string |
是 |
测试权限 |
权限名,最长64字符,不可为空 |
permissionValue |
string |
是 |
demo_permission |
权限的权限值,同一个权限系统内唯一,最长64个字符,不可为空 |
type |
string |
是 |
menu |
menu(菜单类权限),button(按钮型权限),api(接口类型),other(其他类型),data (数据类型) |
psId |
string |
是 |
hU2czV4pMR |
PS系统id |
parentUuid |
string |
否 |
9b63a96ee5aa800641b5a4 |
父级权限全局唯一标识,可填资源外部id,可以为null或者空字符串,null或者空字符串代表顶级的权限 |
parentValue |
string |
否 |
test1 |
父级权限资源值,parentValue和parentUuid选用其一,当parentUuid为空时才会使用parentValue |
remark |
string |
否 |
这是一个测试使用的权限 |
权限描述信息,可以为空,最长1024字符 |
relationUrl |
string |
否 |
http:?/your-domain.co |
资源URL,可以为空,最长1024字符 |
displayOrder |
long |
否 |
99 |
显示顺序,可以为空,只能为非负数字 |
返回参数
参数 |
类型 |
示例值 |
描述 |
---|---|---|---|
permissionUuid |
string |
7dabd9e92a175781072c265aeccfc0f6nmYAtFqciZ8 |
新生成的 全局唯一标识 |
示例
请求示例
{base_url}/api/bff/v1.2/developer/ps/permission/create?access_token=bd3a80ca-24c3-4da8-836f-9efcb2c52c4b
请求入参示例
{
"type": "menu",
"permissionValue": "demo_permission",
"name": "测试权限",
"remark": "这是一个测试使用的权限",
"relationUrl": "http://your-domain.co",
"psId": "nT1535wTeM"
}
正常返回示例
{
"success": true,
"code": "200",
"message": null,
"requestId": "1723184169005$9a9e224c-c982-1207-7513-bc7f30f490cb",
"data": {
"permissionUuid": "531a1453d0a48d42e3b91390bbf17df5tG9heTVgL9U"
}
}
7.2.7. 编辑权限¶
接口地址
PUT /api/bff/v1.2/developer/ps/permission/update?access_token={access_token}
接口说明
编辑当前的权限系统中一个权限。
请求参数
参数 |
类型 |
必须 |
示例值 |
描述 |
---|---|---|---|---|
access_token |
string |
是 |
bd3a80ca-24c3-4da8-836f-9efcb2c52c4b |
|
uuid |
string |
是 |
9b63a96ee5aa800641b5a4a |
待编辑的权限全局唯一标识,资源外部id |
name |
string |
否 |
测试权限 |
权限名,最长64字符,为空代表不修改 |
permissionValue |
string |
否 |
demo_permission |
权限的权限值,同一个权限系统内唯一,最长64个字符,为空代表不修改 |
type |
string |
否 |
menu |
非数据类型:menu(菜单类权限),button(按钮型权限),api(接口类型),other(其他类型);数据类型:data (数据类型);数据类型不允许修改类型,非数据类型不能修改为数据类型 |
remark |
string |
否 |
这是一个测试使用的权限 |
权限描述信息,可以为空,最长1024字符 |
relationUrl |
string |
否 |
http:?/your-domain.co |
资源URL,可以为空,最长1024字符 |
parentUuid |
string |
否 |
9b63a96ee5aa800641b5a4 |
父级权限全局唯一标识,资源外部id,为 null 代表不修改,为空字符传代表 修改为顶级节点 |
parentValue |
string |
否 |
test1 |
父级权限资源值,parentValue和parentUuid选用其一,当parentUuid为空时才会使用parentValue |
clientToken |
string |
否 |
Kqji1upjakhjdihq3e |
IDaaS 幂等机制字段,由调用方自动随机生成,标识一次请求操作。 |
displayOrder |
long |
否 |
99 |
显示顺序,可以为空,只能为非负数字 |
返回参数
无。
示例
请求示例
{base_url}/api/bff/v1.2/developer/ps/permission/update?access_token=bd3a80ca-24c3-4da8-836f-9efcb2c52c4b
请求入参示例
{
"uuid": "531a1453d0a48d42e3b91390bbf17df5tG9heTVgL9U",
"type": "menu",
"permissionValue": "demo_permission",
"name": "测试权限修改名",
"remark": "这是一个测试使用的权限,修改备注",
"relationUrl": "http:?/your-domain.co",
"psId": "nT1535wTeM"
}
正常返回示例
{
"success": true,
"code": "200",
"message": null,
"requestId": "1723184589429$54ccbf2f-3cd8-29ae-4032-bdbc45ee50dd",
"data": null
}
7.2.8. 删除权限¶
接口地址
/api/bff/v1.2/developer/ps/permission/delete/{uuid}?access_token={access_token}
接口说明
删除一个现有权限。注意,当拥有子权限时,不可直接删除。
请求参数
参数 |
类型 |
必须 |
示例值 |
描述 |
---|---|---|---|---|
access_token |
string |
是 |
bd3a80ca-24c3-4da8-836f-9efcb2c52c4b |
|
uuid |
string |
是 |
9b63a96ee5aa800641b5a4a |
待删除的角色全局唯一标识,资源外部id |
返回参数
无。
示例
请求示例
{base_url}/api/bff/v1.2/developer/ps/permission/delete/88a7c4c820d7fc0a2020ce52ccd89414pq3vQqM0uA8?access_token=bd3a80ca-24c3-4da8-836f-9efcb2c52c4b
正常返回示例
{
"success": true,
"code": "200",
"message": null,
"requestId": "1723184946432$f293ba0a-9686-7ace-3889-93591bab78f1",
"data": null
}
7.2.9. 查询数据权限模型¶
接口地址
GET /api/bff/v1.2/developer/ps/data/module/list
接口说明
获取当前的权限系统中的数据权限模型列表。
请求参数
参数 |
类型 |
必须 |
示例值 |
描述 |
---|---|---|---|---|
currentPage |
string |
否 |
1 |
查询第几页的数据,从 1 开始 |
pageSize |
string |
否 |
10 |
一页包含的数据数量,默认10条 |
psId |
string |
是 |
fJBzbPjud3 |
PS系统id |
searchVal |
string |
否 |
data_permission |
通过权限模型名称搜索权限模型(精确搜索) |
返回参数
参数 |
类型 |
示例值 |
描述 |
---|---|---|---|
List |
Array |
见下面LIST表 |
|
currentPage |
int |
1 |
当前页数,从 1 开始 |
totalSize |
int |
2 |
总角色数量 |
pageSize |
int |
10 |
一页包含的角色数量 |
perPageSize |
int |
10 |
当前请求时参数返回 |
psId |
string |
hU2czV4pMR |
当前 PS 系统 id |
list 表:
参数 |
类型 |
示例值 |
描述 |
---|---|---|---|
uuid |
string |
4c9b9f14e82a5d4978d5ed229ec1ae4d6912xmCXA1l |
权限全局唯一标识 |
moduleName |
string |
订单模型 |
权限模型名称,最长64字符,不能为空 |
moduleValue |
string |
order_module |
权限模型值,同一个权限系统内,模型值是唯一的,最长64字符,不能为空 |
description |
string |
定义可对订单数据 |
权限模型描述 |
addOperationCollection |
Array |
见下面operationCollection表 |
数据权限操作列表 |
createTime |
string |
2024-08-12 09:53 |
创建时间 |
archived |
boolean |
false |
逻辑删除标识 |
enterpriseUuid |
string |
1228c04ba88eb0bf9b6ac73ca662981c4MeFW4wy66B |
租户uuid |
psSystemUuid |
string |
4a55707757aa821e15282acc47c9ca479qwwur4FrM8 |
PS系统uuid |
psId |
string |
nT1535wTeM |
PS系统id |
operationCollection 表:
参数 |
类型 |
示例值 |
描述 |
---|---|---|---|
uuid |
string |
4c9b9f14e82a5d4978d5ed229ec1ae4d6912xmCXA1l |
操作类型uuid |
psDataModuleUuid |
string |
4c9b9f14e82a5d4978d5ed229ec1ae4d6912xmCXA1l |
权限模型uuid |
operationName |
string |
接单 |
操作类型名,最长64字符,不能为空 |
operationValue |
string |
Orders |
操作类型值,同一个权限模型内,操作类型值是唯一的,最长64字符,不能为空 |
createTime |
string |
2024-08-12 09:53 |
创建时间 |
archived |
boolean |
false |
逻辑删除标识 |
psSystemUuid |
string |
4a55707757aa821e15282acc47c9ca479qwwur4FrM8 |
PS系统uuid |
示例
请求示例
{base_url}/api/bff/v1.2/developer/ps/data/module/list?access_token=AT5ac0174523c4a02e3f2b5bf955fd7be7lkc0HIA6NlZ&psId=nT1535wTeM¤tPage=2&pageSize=1
正常返回示例
{
"success": true,
"code": "200",
"message": null,
"requestId": "1723431323876$278c68ee-867f-4aca-bda3-dffe8b1aec97",
"data": {
"list": [
{
"uuid": "74220f02a46354b69646ea7ef92fe0bdToP9uiveWnj",
"createTime": "2024-08-12 09:53",
"archived": false,
"enterpriseUuid": "1228c04ba88eb0bf9b6ac73ca662981c4MeFW4wy66B",
"psSystemUuid": "4a55707757aa821e15282acc47c9ca479qwwur4FrM8",
"psId": "nT1535wTeM",
"moduleName": "订单模型",
"moduleValue": "order_module",
"description": "订单测试模型",
"addOperationCollection": [
{
"uuid": "9cb68aa009bd4348231e34b4341f3229nuPreVdbIro",
"createTime": "2024-08-12 09:53",
"archived": false,
"psSystemUuid": "4a55707757aa821e15282acc47c9ca479qwwur4FrM8",
"psDataModuleUuid": "74220f02a46354b69646ea7ef92fe0bdToP9uiveWnj",
"operationName": "接单",
"operationValue": "order_talking",
"description": null,
"checkStatus": "NULL",
"containsInheritance": false
}
]
}
],
"totalSize": 1,
"enterpriseUuid": "1228c04ba88eb0bf9b6ac73ca662981c4MeFW4wy66B",
"psSystemUuid": "4a55707757aa821e15282acc47c9ca479qwwur4FrM8",
"psSystemId": "nT1535wTeM",
"psId": "nT1535wTeM",
"searchKey": null,
"searchVal": "订单模型",
"pageSize": 10,
"currentPage": 1,
"totalPages": 1,
"hasNext": false,
"hasPrevious": false
}
}
7.2.10. 创建数据权限模型¶
接口地址
POST /api/bff/v1.2/developer/ps/data/module
接口说明
向当前的权限系统中新增一个数据权限模型。
请求参数
参数 |
类型 |
必须 |
示例值 |
描述 |
---|---|---|---|---|
psId |
string |
是 |
8xvL7oHcB2 |
PS系统Id |
moduleName |
string |
是 |
订单模型 |
权限模型名称,最长64字符,不能为空 |
moduleValue |
string |
是 |
order_module |
权限模型值,同一个权限系统内,模型值是唯一的,最长64字符,不能为空 |
description |
string |
否 |
订单数据 |
描述 |
addOperationCollection |
Array |
是 |
见下面operationCollection表 |
数据权限操作列表 |
operationCollection 表:
参数 |
类型 |
必须 |
示例值 |
描述 |
---|---|---|---|---|
operationName |
string |
是 |
接单 |
操作类型名,最长64字符,不能为空 |
operationValue |
string |
是 |
Orders |
操作类型值,同一个权限模型内,操作类型值是唯一的,最长64字符,不能为空 |
返回参数
参数 |
类型 |
示例值 |
描述 |
---|---|---|---|
uuid |
string |
7dabd9e92a175781072c265aeccfc0f6nmYAtFqciZ8 |
新生成的权限模型uuid 全局唯一标识 |
示例
请求示例
{base_url}/api/bff/v1.2/developer/ps/data/module?access_token=bd3a80ca-24c3-4da8-836f-9efcb2c52c4b
请求入参示例
{
"moduleName": "test8",
"moduleValue": "test8",
"description": "",
"psId": "nT1535wTeM",
"addOperationCollection": [
{
"operationName": "test8",
"operationValue": "test8"
}
]
}
正常返回示例
{
"success": true,
"code": "200",
"message": null,
"requestId": "1723430685722$1879fdd8-6d7b-f25a-28d5-a93635586833",
"data": "4d72e32085fc2e27dad8b91d007bee7dMuvTrtHpJnN"
}
7.2.11. 编辑数据权限模型¶
接口地址
PUT /api/bff/v1.2/developer/ps/data/module?access_token={access_token}
接口说明
编辑当前的权限系统中一个数据权限模型。
请求参数
参数 |
类型 |
必须 |
示例值 |
描述 |
---|---|---|---|---|
uuid |
string |
是 |
2fa4e76084c066aea16a5057b3fca06c2evTMFP1WmV |
数据权限模型uuid |
psId |
string |
是 |
8xvL7oHcB2 |
PS系统Id |
moduleName |
string |
是 |
订单模型 |
权限模型名称,最长64字符,不能为空 |
moduleValue |
string |
是 |
order_module |
权限模型值,同一个权限系统内,模型值是唯一的,最长64字符,不能为空 |
description |
string |
否 |
订单数据 |
描述 |
addOperationCollection |
Array |
否 |
见下面operationCollection表 |
添加数据权限操作列表 |
deleteOperationCollection |
Array |
否 |
见下面operationCollection表 |
删除数据权限操作列表 |
operationCollection 表:
参数 |
类型 |
必须 |
示例值 |
描述 |
---|---|---|---|---|
operationName |
string |
是 |
接单 |
操作类型名,最长64字符,不能为空 |
operationValue |
string |
是 |
Orders |
操作类型值,同一个权限模型内,操作类型值是唯一的,最长64字符,不能为空 |
返回参数
参数 |
类型 |
示例值 |
描述 |
---|---|---|---|
uuid |
string |
7dabd9e92a175781072c265aeccfc0f6nmYAtFqciZ8 |
新生成的权限模型uuid 全局唯一标识 |
示例
请求示例
{base_url}/api/bff/v1.2/developer/ps/data/module?access_token=bd3a80ca-24c3-4da8-836f-9efcb2c52c4b
请求入参示例
{"uuid":"2fa4e76084c066aea16a5057b3fca06c2evTMFP1WmV","moduleName":"test5","moduleValue":"test5","description":"","psId":"8xvL7oHcB2","addOperationCollection":[{"operationName":"test5","operationValue":"test8"}]}
正常返回示例
{"success":true,"code":"200","message":null,"requestId":"69f0fdcdd9e11c6e","data":"2fa4e76084c066aea16a5057b3fca06c2evTMFP1WmV"}
7.2.12. 删除数据权限模型¶
接口地址
DELETE /api/bff/v1.2/developer/ps/data/module?access_token={access_token}
接口说明
删除一个现有的数据权限模型。
请求参数
参数 |
类型 |
必须 |
示例值 |
描述 |
---|---|---|---|---|
uuid |
string |
是 |
2fa4e76084c066aea16a5057b3fca06c2evTMFP1WmV |
数据权限模型uuid |
psId |
string |
是 |
8xvL7oHcB2 |
PS系统Id |
返回参数
无。
示例
请求示例
{base_url}/api/bff/v1.2/developer/ps/data/module?access_token=AT5ac0174523c4a02e3f2b5bf955fd7be7lkc0HIA6NlZ
请求入参示例
{"uuid":"2fa4e76084c066aea16a5057b3fca06c2evTMFP1WmV","psId":"8xvL7oHcB2"}
正常返回示例
{"success":true,"code":"200","message":null,"requestId":"4a6c4d2737e8d1fc","data":null}
7.3. 授权管理接口¶
7.3.1. 获取指定角色的已关联权限(分页)¶
接口地址
POST /api/bff/v1.2/developer/ps/role_permissions
接口说明
获取指定角色的所有已关联权限。
请求参数
参数 |
类型 |
必须 |
示例值 |
描述 |
---|---|---|---|---|
access_token |
string |
是 |
bd3a80ca-24c3-4da8-836f-9efcb2c52c4b |
|
roleUuid |
String |
否 |
447fed833d8739ecb1caf6f38af14e65tthuiDBac88 |
指定角色 全局唯一标识,角色外部id |
currentPage |
int |
否 |
1 |
当前返回页数,从 1 开始 |
pageSize |
int |
否 |
10 |
每页数量 |
psId |
String |
是 |
KSJDJSKkk |
系统id,详情处可见 |
返回参数
参数 |
类型 |
示例值 |
描述 |
---|---|---|---|
List |
Array |
见下面LIST表 |
角色列表 |
creator |
string |
Admin |
创建人 |
currentPage |
number |
1 |
当前页数,从 1 开始 |
totalSize |
number |
2 |
总角色数量 |
totalSize |
int |
2 |
总角色数量 |
pageSize |
number |
10 |
一页包含的角色数量 |
psId |
string |
hU2czV4pMR |
当前 PS 系统 id |
List 表:
参数 |
类型 |
示例值 |
描述 |
---|---|---|---|
uuid |
string |
4c9b9f14e82a5d4978d5ed229ec1ae4d6912xmCXA1l |
权限 uuid |
parentPermissionUuid |
string |
978d5ed229ec1ae4d6912xmCXA1l4c9b9f14e82a5d4 |
父级权限的 uuid |
name |
string |
测试权限 |
access_token 过期时间,单位为秒。7200 秒为 2 小时。 |
permissionValue |
string |
test_permission |
权限的权限值 |
remark |
string |
这是一个新的测试权限。 |
描述 |
type |
boolean |
menu |
是否已启用 |
relationUrl |
string |
http://www.your-domain.com |
资源URL |
dataAccessRules |
Array |
[{“uuid”:””,”type”:””,”accessRule”:””}] |
数据访问权限,当前版本集合值可能为空暂不支持 |
示例
请求示例
{base_url}/api/bff/v1.2/developer/ps/role_permissions
请求入参示例
{
"roleUuid": "3cb48852f9ad76c19e43276596cf90b51f6giWoyT74",
"pageSize": "1",
"psId": "nT1535wTeM",
"currentPage": "1"
}
正常返回
{
"success": true,
"code": "200",
"message": null,
"requestId": "1723185146375$7ea6c2b5-04b9-b159-a840-faa60dfb81d3",
"data": {
"list": [
{
"uuid": "677f5f6f1fa474403505423d6b9685d5ph6TlIFmPte",
"parentPermissionUuid": null,
"name": "test012",
"permissionValue": "test012",
"relationUrl": null,
"remark": null,
"type": "menu",
"dataAccessRules": null
}
],
"totalSize": 2,
"psId": "nT1535wTeM",
"roleUuid": "3cb48852f9ad76c19e43276596cf90b51f6giWoyT74",
"username": null,
"pageSize": 1,
"currentPage": 1
}
}
7.3.2. 把人授权到角色¶
接口地址
POST /api/bff/v1.2/developer/ps/role/modify_users?access_token={access_token}
接口说明
新增或者取消人和角色之间的授权关系。
请求参数
参数 |
类型 |
必须 |
示例值 |
描述 |
---|---|---|---|---|
access_token |
string |
是 |
bd3a80ca-24c3-4da8-836f-9efcb2c52c4b |
|
roleUuid |
String |
是 |
447fed833d8739ecb1caf6f38af1 |
指定角色,全局唯一标识,角色外部id |
attachedUDAccountUuidCollection |
Array |
否 |
[“09b00e257ede0a38a5f54a94”] |
想要增加授权到该角色的账号全局唯一标识数组 |
detachedUDAccountUuidCollection |
Array |
否 |
[“09b00e257ede0a38a5f54a94”] |
想要取消授权该角色的账号,全局唯一标识数组 |
attachedUsernameCollection |
Array |
否 |
[“zhang_san”] |
想要增加授权到该角色的账号识数组 |
detachedUsernameCollection |
Array |
否 |
[“li_si”] |
想要取消授权该角色的账号数组 |
返回参数
无。
示例
请求示例
{base_url}/api/bff/v1.2/developer/ps/role/modify_users?access_token=bd3a80ca-24c3-4da8-836f-9efcb2c52c4b
请求入参示例
{
"attachedUDAccountUuidCollection":["09b00e257ede0a38a5f54a94c4d64000EwQtyG8nUWw"],
"detachedUDAccountUuidCollection":["90d99090309433adeaf4a94c4d64000EwQtyG8nUWw"],
"attachedUsernameCollection":[ "zhang_san","li_si"],
"detachedUsernameCollection":["wang_wu","zhao_liu"],
"roleUuid":"447fed833d8739ecb1caf6f38af14e65tthuiDBac88"
}
正常返回
{ "success": true, "code": "200", "message": null, "requestId": "D537580C-A5A2-4557-AEDD-3294DFB8ECE6"}
7.3.3. 把权限关联到角色¶
接口地址
POST api/bff/v1.2/developer/ps/role/modify_permissions?access_token={access_token}
接口说明
建立权限和角色之间的关联关系。
请求参数
参数 |
类型 |
必须 |
示例值 |
描述 |
---|---|---|---|---|
access_token |
string |
是 |
bd3a80ca-24c3-4da8-836f-9efcb2c52c4b |
|
roleUuid |
String |
是 |
447fed833d8739ecb1caf6f38af1 |
指定角色 全局唯一标识,角色外部id |
attachedPermissionUuidCollection |
Array |
否 |
[“tyG8nUWw”] |
想要新增权限 全局唯一标识数组,资源外部id |
detachedPermissionUuidCollection |
Array |
否 |
[“tyG8nUWw”] |
想要取消权限 全局唯一标识数组,资源外部id |
返回参数
无。
示例
请求示例
{your-idaas-domain} api/bff/v1.2/developer/ps/role/modify_permissions?access_token={access_token}
请求入参示例
{
"roleUuid":"447fed833d8739ecb1caf6f38af14e65tthuiDBac88",
"attachedPermissionUuidCollection":["65f9e06df1a1cb04133845fd47e35196WUjqj9nkA1P","540cf6e8b05b09b3938f865b33ab30d1GsMhz5NkVTq"],
"detachedPermissionUuidCollection":["12f9e06df1a1cb04166666fd47e35196WUjqj9nkAee","340cf6e8b05b09b397890qeb33ab30d1GsMhz5NkVar"]
}
正常返回
{
"success": true,
"code": "200",
"message": null,
"requestId": "1723185797674$9f01215c-24ea-9f8d-9daa-f30011b4536b",
"data": null
}
7.3.4. 获取指定权限节点下,用户已授权的权限¶
接口地址
POST /api/bff/v1.2/developer/ps/listSubLevelPermissions
接口说明
获取一个指定权限节点下,一个用户的所有已授权的权限。
请求参数
参数 |
类型 |
必须 |
示例值 |
描述 |
---|---|---|---|---|
access_token |
string |
是 |
bd3a80ca-24c3-4da8-836f-9efcb2c52c4b |
|
username |
String |
是 |
michael |
指定用户的账户名 |
permissionValue |
String |
否 |
print_card |
指定父级权限节点的权限值 |
psId |
String |
是 |
SAFKJkljL |
系统详情处可见 |
type |
String |
否 |
ALL,button,menu |
权限类型 |
返回参数
参数 |
类型 |
示例值 |
描述 |
---|---|---|---|
permissions |
Array |
角色列表 |
|
└uuid |
string |
4c9b9f14e82a5d4978d5ed229ec1ae4d6912xmCXA1l |
权限 uuid |
└parentPermissionUuid |
string |
978d5ed229ec1ae4d6912xmCXA1l4c9b9f14e82a5d4 |
父级权限的 uuid |
└name |
string |
测试权限 |
权限名,最长64字符,不可为空 |
└permissionValue |
string |
test_permission |
权限的权限值 |
└remark |
string |
这是一个新的测试权限。 |
权限说明 |
└relationUrl |
string |
http:?/your-domain.com |
资源URL |
└type |
string |
button |
权限类型,菜单/按钮 |
└displayOrder |
long |
0 |
资源排序号,整数,用于排序使用,数字越小越靠前展示 |
dataAccessRules |
Array |
暂无使用 |
|
children |
Array |
当前资源的子级资源 |
当前资源的直属子级资源列表 |
dataAccessRules :
参数 |
类型 |
示例值 |
描述 |
---|---|---|---|
type |
string |
LABEL_PERIOD |
行规则:LABEL_PERIOD |
accessRule |
string |
username=${username} |
规则 |
示例
请求示例
{base_url}/api/bff/v1.2/developer/ps/listSubLevelPermissions
请求入参示例
{
"username": "luowengang",
"psId": "nT1535wTeM",
"permissionValue":"test012"
}
正常返回
{
"success": true,
"code": "200",
"message": null,
"requestId": "1723434704937$8477e773-8270-6b5c-2768-6af885dc7704",
"data": {
"username": "luowengang",
"permissions": [
{
"uuid": "7241f8c9c04d6f9f55635a6d4dd7ac24E298PKegwEr",
"parentPermissionUuid": "677f5f6f1fa474403505423d6b9685d5ph6TlIFmPte",
"name": "test013",
"permissionValue": "test013",
"relationUrl": null,
"remark": null,
"type": "menu",
"dataAccessRules": null,
"displayOrder": 1,
"children": []
}
]
}
}
7.3.5. 获取角色所有已授权用户(分页)¶
接口地址
POST /api/bff/v1.2/developer/ps/role_users
接口说明
获取角色所有已授权用户。
请求参数
参数 |
类型 |
必须 |
示例值 |
描述 |
---|---|---|---|---|
access_token |
string |
是 |
bd3a80ca-24c3-4da8-836f-9efcb2c52c4b |
|
roleUuid |
String |
否 |
447fed833d8739ecb1caf6f38af14e65tthuiDBac88 |
指定角色全局唯一标识,角色外部id |
currentPage |
int |
否 |
1 |
当前返回页数,从 1 开始 |
pageSize |
int |
否 |
10 |
每页数量 |
psId |
String |
是 |
SAFJASJk |
系统id,详情处可见 |
返回参数
参数 |
类型 |
示例值 |
描述 |
---|---|---|---|
list |
Array |
角色列表 |
|
└udAccountUuid |
string |
978d5ed229ec1ae4d6912xmCXA1l4c9b9f14e82a5d4 |
IDaaS 系统内 UDAccount 的全局唯一标识 |
└username |
string |
michael |
用户名 |
└displayName |
string |
Michael Dis |
显示名称 |
└externalId |
string |
1835089752187545102 |
账户外部id |
perPageSize |
number |
10 |
当前请求一页几条数据参数反馈 |
totalSize |
number |
2 |
总角色数量 |
psId |
string |
XuJNOLtDam |
当前 PS 系统 id |
roleUuid |
string |
b661f136fbde1c895b44eda7111ab458s736vCvD8aB |
当前角色 uuid |
currentPage |
number |
1 |
当前页数,从 1 开始 |
pageSize |
number |
10 |
一页包含的角色数量 |
示例
请求示例
{base_url}/api/bff/v1.2/developer/ps/role_users
请求入参示例
{
"roleUuid": "09dc5c5bad8f2918327fbf77c04eaf63GogRL6dfvvN",
"psId": "nT1535wTeM",
"currentPage": "1",
"pageSize": "10"
}
正常返回
{
"success": true,
"code": "200",
"message": null,
"requestId": "1723188910723$49133adc-8591-4d5b-c74a-142a333434b6",
"data": {
"list": [
{
"udAccountUuid": "58dc9bf5f38d04bb1466d3d0387ccd58dUPu3KCl26F",
"username": "luowengang",
"displayName": "luowengang1",
"externalId": "1835089752187545102"
}
],
"totalSize": 1,
"psId": "nT1535wTeM",
"roleUuid": "09dc5c5bad8f2918327fbf77c04eaf63GogRL6dfvvN",
"pageSize": 10,
"currentPage": 1
}
}
7.3.6. 获取权限系统指定用户的角色和权限¶
接口地址
POST /api/bff/v1.2/developer/ps/user_role_permissions
接口说明
获取用户已授权的角色和权限。
请求参数
参数 |
类型 |
必须 |
示例值 |
描述 |
---|---|---|---|---|
access_token |
string |
是 |
bd3a80ca-24c3-4da8-836f-9efcb2c52c4b |
|
username |
String |
是 |
Zhangsan |
指定的用户名 |
psId |
String |
是 |
SAFJASJk |
系统id,详情处可见 |
返回参数
返回的参数中前者 permission 为当前用户授权的权限,后者 rolePermissions 为当前用户授权的角色和权限的集合。
参数 |
类型 |
示例值 |
描述 |
---|---|---|---|
permissions |
Array |
权限列表 |
|
└uuid |
string |
978d5ed229ec1ae4d6912xmCXA1l4c9b9f14e82a5d4 |
IDaaS 系统内 权限的全局唯一标识 |
└name |
string |
Add用户 |
权限名称 |
└remark |
string |
Add user test |
备注 |
└relationUrl |
string |
http://your-domain.com |
资源URL |
└permissionValue |
string |
ADD |
权限值 |
└type |
string |
Menu |
类型,menu,button等 |
└dataAccessRules |
Array |
[{“uuid”:“”,“type”:“”,“accessRule”:“”}] |
规则 |
└parentPermissionUuid |
string |
09dc5c5bad8f2918327fbf77c04eaf63GogRL6dfvvN |
父级权限uuid |
roles |
Array |
角色列表 |
|
└roleUuid |
string |
978d5ed229ec1ae4d6912xmCXA1l4c9b9f14e82a5d4 |
角色uuid |
└roleName |
string |
测试角色 |
角色名称 |
└remark |
string |
Add user test |
备注 |
└permissionValue |
string |
ManagerUser |
角色值 |
└roleNameCode |
string |
测试角色 |
国际化code |
└systemUuid |
string |
4a55707757aa821e15282acc47c9ca479qwwur4FrM8 |
所属权限系统uuid |
└checkStatus |
string |
NULL |
当前授权状态 |
└containsInheritance |
boolean |
false |
是否包含继承 |
示例
请求示例
{base_url}/api/bff/v1.2/developer/ps/user_role_permissions
请求入参示例
{
"psId": "nT1535wTeM",
"username": "luowengang"
}
正常返回
{
"success": true,
"code": "200",
"message": null,
"requestId": "1723189374532$3b66ee6d-10e8-9f89-12ef-87d29af86872",
"data": {
"username": "luowengang",
"permissions": [
{
"uuid": "72207d1c33c3b15761fc4c5fee82a621cmGSZzsnun6",
"parentPermissionUuid": null,
"name": "测试权限567-e4afb803-60c5-40a3-8da4-ab30b8d05e75",
"permissionValue": "test_permissione3a92788-fae1-4cb1-8b60-1208402ab45c",
"relationUrl": null,
"remark": "20240807",
"type": "menu",
"dataAccessRules": null
},
{
"uuid": "677f5f6f1fa474403505423d6b9685d5ph6TlIFmPte",
"parentPermissionUuid": null,
"name": "test012",
"permissionValue": "test012",
"relationUrl": null,
"remark": null,
"type": "menu",
"dataAccessRules": null
}
],
"roles": [
{
"roleUuid": "09dc5c5bad8f2918327fbf77c04eaf63GogRL6dfvvN",
"roleName": "测试角色b1669f7b-19ab-4f35-a0af-bdcb021acc36",
"roleNameCode": "测试角色b1669f7b-19ab-4f35-a0af-bdcb021acc36",
"systemUuid": "4a55707757aa821e15282acc47c9ca479qwwur4FrM8",
"permissionValue": "test_role7e17915a-6f53-4e9a-8925-a92e5becdb37",
"remark": "这是一个测试角色",
"checkStatus": "NULL",
"containsInheritance": false,
"privilegeUuid": "09dc5c5bad8f2918327fbf77c04eaf63GogRL6dfvvN"
}
]
}
}
7.3.7. 资源授权给实体¶
接口地址
POST /api/bff/v1.2/developer/ps/app/authorization/update_entity_privilege
接口说明
将资源。
请求参数
参数 |
类型 |
必须 |
示例值 |
描述 |
---|---|---|---|---|
entityUuid |
string |
否 |
bd3a80ca-24c3-4da8-836f-9efcb2c52c4b |
实体uuid,例如用户uuid |
entityExternalId |
string |
否 |
d70f635dff6c07f022c387520e552459tval7L7X6cF |
实体外部id,例如用户外部id,entityUuid和entityExternalId二者必填其一 |
entityType |
String |
是 |
UD_ACCOUNT |
实体类型:UD_ACCOUNT(账户)、ORGANIZATION_UNIT(组织机构)、UD_GROUP(组)、ATTRIBUTE_CLASS(分类) |
psId |
String |
是 |
SAFJASJk |
系统id,详情处可见 |
forwardAddPrivilegeUuidCollection |
Array |
否 |
见下面privilegeUuidCollection表 |
正向添加权限列表 |
forwardRemovePrivilegeUuidCollection |
Array |
否 |
见下面privilegeUuidCollection表 |
正向取消权限列表 |
reverseAddPrivilegeUuidCollection |
Array |
否 |
见下面privilegeUuidCollection表 |
反向添加权限列表 |
reverseRemovePrivilegeUuidCollection |
Array |
否 |
见下面privilegeUuidCollection表 |
反向取消权限列表 |
forwardAddDataItemOperation |
Array |
否 |
见下面dataItemOperation表 |
正向添加数据权限操作列表 |
forwardRemoveDataItemOperation |
Array |
否 |
见下面dataItemOperation表 |
正向取消数据权限操作列表 |
reverseAddDataItemOperation |
Array |
否 |
见下面dataItemOperation表 |
反向添加数据权限操作列表 |
reverseRemoveDataItemOperation |
Array |
否 |
见下面dataItemOperation表 |
反向取消数据权限操作列表 |
privilegeUuidCollection 表:
参数 |
类型 |
必须 |
示例值 |
描述 |
---|---|---|---|---|
privilegeType |
string |
是 |
PS_PERMISSION |
权限类型 |
authorizations |
Array |
是 |
[{“privilegeUuid”:“72207d1c33c3b15761fc4c5fee82a621cmGSZzsnun6”}] |
权限列表 |
└privilegeUuid |
string |
是 |
9736d72a5f60d290bf36992457fba89575ggd7Hwm2Z |
权限uuid |
dataItemOperation 表:
参数 |
类型 |
必须 |
示例值 |
描述 |
---|---|---|---|---|
psPrivilegeUuid |
string |
是 |
a60e86e4aa1e2d1a52363fe72131c422exG6MhAlrqb |
数据权限的权限uuid |
psDataModuleValue |
string |
是 |
xxxx1 |
数据权限模型值 |
attachedPSDataOperationValueCollection |
Array |
是 |
[“xxx1”,“xxx2”] |
操作类型值列表,如果是取消授权使用detachedPSDataOperationValueCollection |
返回参数
无。
示例
请求示例
{base_url}/api/bff/v1.2/developer/ps/app/authorization/update_entity_privilege?access_token=bd3a80ca-24c3-4da8-836f-9efcb2c52c4b
请求入参示例
{
"entityUuid": "a7f0086f40ef70f3cea996810c7d3fc4KNJvf8FGPg6",
"entityType": "UD_ACCOUNT",
"psId": "nT1535wTeM",
"forwardRemovePrivilegeUuidCollection": [],
"forwardAddPrivilegeUuidCollection": [
{
"privilegeType": "PS_PERMISSION",
"authorizations": [
{
"privilegeUuid": "72207d1c33c3b15761fc4c5fee82a621cmGSZzsnun6"
}
]
}
],
"reverseAddPrivilegeUuidCollection": [],
"reverseRemovePrivilegeUuidCollection": [],
"forwardAddDataItemOperation": [],
"forwardRemoveDataItemOperation": [],
"reverseAddDataItemOperation": [],
"reverseRemoveDataItemOperation": []
}
正常返回示例
{
"success": true,
"code": "200",
"message": null,
"requestId": "1723186500232$161a1df4-d536-4584-7bd0-44e57b4cb63e",
"data": null
}
7.3.8. 查询已授权列表¶
接口地址
GET /api/bff/v1.2/developer/ps/app/authorization/ps_system/idaas/list_entity_privilege
接口说明
查询已授权内容,查询数据权限时需要privilegeType需要填写数据权限值,并且填写dataModulePrivilegeUuid字段
请求参数
参数 |
类型 |
必须 |
示例值 |
描述 |
---|---|---|---|---|
access_token |
string |
是 |
bd3a80ca-24c3-4da8-836f-9efcb2c52c4b |
|
psId |
String |
是 |
SAFJASJk |
系统id,详情处可见 |
entityType |
String |
是 |
UD_ACCOUNT |
实体类型:UD_ACCOUNT(账户)、ORGANIZATION_UNIT(组织机构)、UD_GROUP(组)、ATTRIBUTE_CLASS(分类) |
entityUuid |
String |
否 |
f7cd1f3ae7edfe52c1c674001026364aacfs4HtB0Oz |
实体uuid,例如用户uuid |
entityExternalId |
string |
否 |
d70f635dff6c07f022c387520e552459tval7L7X6cF |
实体外部id,例如用户外部id,entityUuid和entityExternalId二者必填其一 |
privilegeType |
String |
是 |
PS_PERMISSION |
权限类型,自建系统默认填PS_PERMISSION,查询数据权限时需要填数据权限值 |
includeInherited |
String |
否 |
true |
是否查询继承权限 |
limitPrivilegeUuidCollection |
Array |
否 |
限制只查询部分资源 |
|
dataModulePrivilegeUuid |
Array |
否 |
c1c6526364aacfs4H7400102f7cd1f3ae7edfetB0Oz |
数据权限uuid |
返回参数
返回参数。
参数 |
类型 |
示例值 |
描述 |
---|---|---|---|
type |
String |
menu |
类型,menu,button等,如果是data是数据权限 |
permissionUuid |
String |
978d5ed229ec1ae4d6912xmCXA1l4c9b9f14e82a5d4 |
权限列表 |
permissionName |
string |
app |
权限名称 |
privilegeType |
string |
PS_PERMISSION |
权限类型 |
psDataModuleUuid |
string |
8d1cff94a8d7a291b5625b466c12319duf0wQUNno3E |
数据权限uuid |
checkStatus |
string |
8d1cff94a8d7a291b5625b466c12319duf0wQUNno3E |
权限状态 |
psDataModuleValue |
string |
数据权限值 |
|
operationName |
string |
新增 |
操作名称 |
operationValue |
string |
ADD |
操作值 |
uuid |
string |
8d1cff94a8d7a291b5625b466c12319duf0wQUNno3E |
操作uuid |
示例
请求示例
{base_url}/api/bff/v1.2/developer/ps/app/authorization/ps_system/idaas/list_entity_privilege?entityUuid=f7cd1f3ae7edfe52c1c674001026364aacfs4HtB0Oz&entityType=UD_ACCOUNT&psId=8xvL7oHcB2&privilegeType=PS_PERMISSION&includeInherited=true&limitPrivilegeUuidCollection=51c4044b6ff49e962e5e830d74a53d2dtwRdi61xJmI
正常返回
{
"success": true,
"code": "200",
"message": null,
"requestId": "BC8EF781-56CA-4EA4-95FB-BE19A9832A84",
"data": {
"list": [
{
"checkStatus": "INHERIT_ALLOW",
"parentPermissionUuid": "d6a273ffed52cf1ca16f46d126a02141VYrtO67Kc3U",
"permissionName": "app_test",
"permissionUuid": "51c4044b6ff49e962e5e830d74a53d2dtwRdi61xJmI",
"privilegeType": "app_test",
"psDataModuleUuid": "8d1cff94a8d7a291b5625b466c12319duf0wQUNno3E",
"psDataModuleValue": "app_per",
"type": "data"
}
]
}
}
7.4. 鉴权接口¶
7.4.1. 判断用户是否有角色¶
接口地址
POST /api/bff/v1.2/developer/ps/has_role
接口说明
判断用户是否拥有某角色。
请求参数
参数 |
类型 |
必须 |
示例值 |
描述 |
---|---|---|---|---|
access_token |
string |
是 |
bd3a80ca-24c3-4da8-836f-9efcb2c52c4b |
|
roleUuid |
String |
否 |
540cf6e8b05b09b3938f865b33ab30d1 |
指定角色全局唯一标识,可填角色uuid或角色外部id,roleUuid和roleValue二者必填其一 |
roleValue |
String |
否 |
role_value |
角色值,roleUuid和roleValue二者必填其一 |
username |
String |
是 |
michael |
指定账号的账户名 |
psId |
String |
是 |
SAFJASJk |
系统id,详情处可见 |
返回参数
参数 |
类型 |
示例值 |
描述 |
---|---|---|---|
data |
Boolean |
True |
是否已有授权关系 |
示例
请求示例
{base_url}/api/bff/v1.2/developer/ps/has_role
请求入参示例
{"roleUuid": "540cf6e8b05b09b3938f865b33ab30d1GsMhz5NkVTq","psId":"SAFJASJk","username": "michael"}
正常返回
{"success": true,"code": "200","message": null,"requestId": "76C29BF5-3236-4C17-9C0D-92834AC12B73","data": false}
7.4.2. 根据权限 uuid 判断用户是否有权限¶
POST /api/bff/v1.2/developer/ps/has_permission
接口说明
判断用户是否拥有某权限。
请求参数
参数 |
类型 |
必须 |
示例值 |
描述 |
---|---|---|---|---|
access_token |
string |
是 |
bd3a80ca-24c3-4da8-836f-9efcb2c52c4b |
|
permissionUuid |
String |
是 |
447fed833d8739ecb1caf6f38af14e65tthuiDBac88 |
指定权限全局唯一标识 |
username |
String |
是 |
michael |
指定账号的用户名 |
psId |
String |
是 |
ASFjasds |
系统id,系统详情处可见 |
返回参数
参数 |
类型 |
示例值 |
描述 |
---|---|---|---|
hasPermission |
Boolean |
false |
是否已有授权关系 |
示例
请求示例
{base_url}/api/bff/v1.2/developer/ps/has_permission
请求入参示例
{ "permissionUuid": "540cf6e8b05b09b3938f865b33ab30d1GsMhz5NkVTq","psId":"ASFjasds","username": "michael"}
正常返回
{ "success": true, "code": "200", "message": null,"requestId": "76C29BF5-3236-4C17-9C0D-92834AC12B73", "data": {"hasPermission":true}}
7.4.3. 根据权限值判断用户是否有权限¶
接口地址
POST /api/bff/v1.2/developer/ps/isUserHasPermission
接口说明
通过权限值来判断用户是否拥有某权限/角色。
请求参数
参数 |
类型 |
必须 |
示例值 |
描述 |
---|---|---|---|---|
access_token |
string |
是 |
bd3a80ca-24c3-4da8-836f-9efcb2c52c4b |
|
permissionValue |
String |
是 |
test_permission |
指定权限的权限值 |
username |
String |
是 |
09b00e257ede0a38a5f54a94c4d64000EwQtyG8nUWw |
指定账号的用户名 |
psId |
String |
是 |
KDJDJSSKK |
系统id,详情处可见 |
返回参数
参数 |
类型 |
示例值 |
描述 |
---|---|---|---|
data |
Boolean |
false |
是否已有授权关系 |
示例
请求示例
{base_url}/api/bff/v1.2/developer/ps/isUserHasPermission
请求入参示例
{ "permissionValue": "print_card","psId":"KDJDJSSKK","username": "michael"}
正常返回
{
"success": true,
"code": "200",
"message": null,
"requestId": "1723607362847$0bc90cee-6646-cb1b-b5b4-efc1ba15cb70",
"data": {
"hasPermission": false
}
}
7.4.4. 判断用户是否有指定权限的指定操作¶
接口地址
POST /api/bff/v1.2/developer/ps/has_permission_operation
接口说明
根据用户名,判断是否有指定权限的指定操作,例如:zhangsan 是否有”某个菜单”的查看权限。
请求参数
参数 |
类型 |
必须 |
示例值 |
描述 |
---|---|---|---|---|
access_token |
string |
是 |
bd3a80ca-24c3-4da8-836f-9efcb2c52c4b |
|
permissionUuid |
String |
是 |
test_permission |
指定权限的权限唯一值 |
username |
String |
是 |
09b00e257ede0a38a5f54a94c4d64000EwQtyG8nUWw |
指定账号的用户名 |
psId |
String |
是 |
KDJDJSSKK |
系统id,详情处可见 |
operationValue |
String |
是 |
Chakan |
某个操作值,调用/operations接口可获取用户在某个权限下的所有操作列表。 |
返回参数
参数 |
类型 |
示例值 |
描述 |
---|---|---|---|
data |
Boolean |
false |
是否有指定的操作,true 代表有,false 没有。 |
示例
请求示例
{base_url}/api/bff/v1.2/developer/ps/has_permission_operation
请求入参示例
{
"psId": "nT1535wTeM",
"username": "luowengang",
"permissionUuid": "0b398e429a2e6698f701af06101ae214XQf6qQFZ1Uy",
"operationValue":"order_talking"
}
正常返回
{"success": true, "code": "200", "message": null, "requestId": "76C29BF5-3236-4C17-9C0D-92834AC12B73", "data": true}
7.5. 接口后置¶
7.5.1. 验证用户 accessToken 是否过期¶
接口地址
POST /api/public/bff/oauth/token_validation
接口说明
验证用户的 accessToken 是否失效或已过期。
请求参数
参数 |
类型 |
必须 |
示例值 |
描述 |
---|---|---|---|---|
accessToken |
string |
是 |
bd3a80ca-24c3-4da8-836f-9efcb2c52c4b |
用户的 accessToken 值 |
返回参数
参数 |
类型 |
示例值 |
描述 |
---|---|---|---|
username |
string |
验证成功后返回该accessToken 对应的用户名 |
验证成功后会返回用户名。 |
errorCode |
Int |
错误码 |
错误码:0 代表 accessToken 正常,301:错误的 accessToken, 305:请求参数检查失败 |
示例
请求示例
{base_url}/api/public/bff/oauth/token_validation
请求入参示例
{
"accessToken":"ATdf6eab9d830fd094b3c8f39e3946a477H7b73MnYX3Q"
}
正常返回
{
"username": null,
"errorCode": 0
}
8. 权限系统SDK接入¶
权限JAVA SDK集成方式的说明文档见: 权限SDK使用文档
9. FAQ¶
下图中的Account uuid如何获取
按F12打开控制台,访问账户的详情,查看uuid
建议使用username字段,直接对应账户名称。