CoreStoneAuthInfo)中account和team字段增加tags信息增加「权限」、「权限规则」、「团队角色」、「内建权限」、「内建团队角色」系列接口(详情见API文档)
调整「列出团队下属登录账号」接口,返回值元素增加团队角色teamRoles和权限permissions字段(详情见API文档)
调整「向团队添加登录账号」「修改团队中登录账号」接口,增加设置团队角色teamRoles和设置权限permissions选项
调整请求转发后的CoreStoneAuthInfo,团队角色teamRoles和权限permissions字段
文档「请求转发」和「账户体系」章节同步更新权限内容
「列出团队下属登录账号」接口增加返回字段:
teamRoles,JSON数组,内含IDid,名称name字段「向团队添加登录账号」、「修改团队中登录账号」接口增加参数:
teamRoles,JSON数组,需要指定IDid,操作operation字段(添加add,移除remove)新增「列出团队角色」接口,可以返回本团队可用的所有角色
新增「列出权限」接口,可以返回本系统可用的所有权限
认证令牌创建后的返回值(客户端相关),转发后的认证信息对象(业务系统相关)新增团队角色teamRoles,权限permissions字段:
teamRoles,JSON数组,内含IDid字段(名称可能存在修改可能,请从「列出团队角色」接口获取)permissions,JSON数组,内含IDid字段(名称可能存在修改可能,请从「列出权限」接口获取)其中,权限ID为具有语义的字符串,如:
buildIn.admin.RO,前端可以直接作为常量使用
管理员(ID:tmro-buildIn-admin)
buildIn.admin.RO)buildIn.admin.RW)普通成员(ID:tmro-buildIn-generalMember)
buildIn.generalMember.RO)buildIn.generalMember.RW)注:具体配置可以更改,详情见后台配置
调整「添加登录账号」接口,返回值增加joinedTeams和defaultTeam字段,分别表示当前添加的登录账号所属的团队和默认登录团队。
调整「修改团队」接口,当设置isCanceled=true时,增加回退结果fallbackResult字段(详情见下文)
调整「从团队中删除登录账号」,增加回退结果fallbackResult字段(详情见下文)
fallbackResult字段对于需要实现「自动添加默认规则」的业务场景,只需要针对data.fallbackResult.orphanTeams处理即可。
{
"data": {
"fallbackResult": {
// 孤儿团队:在团队-登录账户关系改变后,针对无所属团队的登录账号,自动创建的团队信息
// (`type`一定为`singleAccount`)
"orphanTeams": [
{
"id" : "team-XXXXXXXXXXXXX",
"accountId": "acnt-YYYYYYYYYYYYY",
"name" : "team-XXXXXXXXXXXXX",
"type" : "singleAccount"
}
],
// 回退关系信息:在团队-登录账户关系改变后,自动修改的登录账号创建的团队-登录账号关联信息
// (`isDefault`一定为`true`,包含转移至孤儿团队和有所属团队的所有自动修改的关联)
"fallbackRelInfo": [
{
"teamId" : "team-XXXXXXXXXXXXX",
"accountId": "acnt-YYYYYYYYYYYYY",
"isDefault": true,
}
]
}
},
... // 其他返回字段
}
细化报错信息中EBizCondition,详情见 常量表 EBizCondition章节。
新增「认证令牌操作记录」页面,详细记录认证令牌的创建/销毁信息
调整认证令牌的创建/作废逻辑
为了避免各个业务系统之间将其他业务系统中生成的认证令牌误删,「作废认证令牌」接口会根据调用方(所使用AccessKey ID)进一步隔离认证令牌。
每个AccessKey ID 只能作废由本AK所创建的认证令牌。
例外:团队解散/禁用、登录账号禁用、团队删除登录账号所导致的连带作废认证令牌依然为全局范围
inTeamNote,涉及接口如下:调整「登录账号列表」、「登录账号详情」接口,增加是否已设置密码isPasswordSet字段,用于标示登录账号是否已设置密码。
注意:对于LDAP用户(命名空间为ldap.开头),此字段永远为true。
调整认证系列接口,调整signInTeamId参数:
详情请见API接口文档
tag进行搜索(支持JSON数组是否包含元素方式)?fieldPicking=seq,id,name,详情请参考具体接口文档joinTime作为加入团队时间,方便客户端排序name字段GBK编码升序(即一级汉字拼音升序)nickname」字段/api/v1/teams/:uniqueMarker/ldap-users/do/search改为/api/v1/teams/ldap-users/do/search?uniqueMarker=xxx。(旧接口暂时保留,业务系统请尽快切换)telphone改为telephonenamespace字段必须满足^\w([.\w-]*\w)?$(即必须为大小写英文数字或.、_、-,且开头结尾不得为.或-)utf8mb4,支持emoji😄task-<UUID>发生未捕捉的异常不再发往「CC基础系统互助友爱群」,改为发往专门的「CC基础系统异常搜集群」topic均为basis,且不包含isEcho字段)name字段不再要求唯一;增加备注note字段namespace)字段是否必须改为视情况而定namespace)不得为ldap或以ldap.开头由于之前的设计,所有LDAP用户生成的登录账号都属于同一个命名空间ldap,
而与此同时,CoreStone本身是支持多个LDAP账号源的(即可以为不同的团队分别配置LDAP登录源)。
默认情况下,通过LDAP用户生成的登录账号的用户名、手机、邮箱都为null。
那么,当存在多个LDAP账号源时,同时业务系统又为登录账号设置了用户名、手机、邮箱,
那么非常容易发生冲突。
为了解决上述问题,所有LDAP用户生成的登录账号所属的命名空间改为「分别属于ldap.<Unique Marker>」,如:
通过jiagouyun/zhang3登录的LDAP用户,生成的命名空间为ldap.jiagouyun,以此解决冲突问题。
对于业务系统来说,调用「验证登录账号」、「直接创建认证令牌」可以不做任何改动。
但对于通过LDAP登录/验证的,命名空间namespace字段不再需要填写。
expire当作名词使用」的BUG目前在「直接创建认证令牌」接口参数中,
expire和expires参数同时存在,效果相同。但请尽早将此参数从expire改为expires。
succeededTo和failedTo字段,表示发送成功/失败的RoomX-Trace-Id中添加跟踪ID,业务系统直接使用此跟踪ID即可X-Trace-Id中添加跟踪ID,业务系统响应中是否包含此ID都可以