应用门户服务 API 概述¶
EnOS 应用门户是灵活的权限管理门户和统一的应用访问门户,为管理员提供基于角色的访问控制(Role-Based Access Control,RBAC)体系,为应用开发人员提供专门的开发者控制台和标准化的 API 接口、SDK 以及开发工具,并为终端用户带来流畅便捷的应用访问体验。
通过应用门户服务 API,应用开发人员可以对账号进行身份认证,获取和管理用户、OU、资源和应用信息。关于应用门户服务 API 的完整接口列表及功能说明,参见 API 列表。
前提条件¶
确保已获取服务账号,且服务账号拥有调用该 API 的权限。更多信息,参见 API 鉴权。
Java SDK¶
如果要在工程中使用 enos-app-portal-sdk,则需要在 pom.xml
文件中添加以下依赖(需适时更新其版本)。
<dependency>
<groupId>com.envisioniot</groupId>
<artifactId>enos-app-portal-sdk</artifactId>
<version>0.0.25</version>
</dependency>
API 列表
¶
你可以通过下表了解可以调用应用门户服务 API 执行哪些操作,以及是否适用于 EnOS Cloud 和 EnOS Edge。
用户¶
操作名称 |
描述 |
适用于 EnOS Cloud |
适用于 EnOS Edge |
---|---|---|---|
创建用户,设置初始密码,并将用户添加到 OU |
√ |
× |
|
创建用户并为该用户分配 OU |
√ |
× |
|
创建用户并为该用户分配 OU |
√ |
× |
|
获取当前账号权限下可管理的所有用户列表 |
√ |
√ |
|
获取 OU 下所有用户列表 |
√ |
√ |
|
根据应用的 |
√ |
√ |
|
根据用户邮箱、账号和域、或电话号码和电话区号获取用户账号的基本信息如用户 ID 等 |
√ |
× |
|
通过用户邮箱地址获取用户账号的域信息 |
√ |
√ |
|
获取当前用户的账号信息 |
√ |
√ |
|
将用户批量添加至 OU |
√ |
× |
|
把一个用户移出 OU |
√ |
× |
|
更新用户信息 |
√ |
× |
用户身份认证¶
操作名称 |
描述 |
适用于 EnOS Cloud |
适用于 EnOS Edge |
---|---|---|---|
在登录后选择用户需要进入的 OU |
√ |
√ |
|
确认已登录用户的密码 |
√ |
× |
|
获取 Access Token 所对应的用户相关信息 |
√ |
√ |
|
获取用于重置密码的 Token |
√ |
× |
|
登录账号 |
√ |
√ |
|
通过单点登录(SSO)的授权码登录 |
√ |
× |
|
登出账号 |
√ |
√ |
|
使用 Token 重置用户密码 |
√ |
× |
|
使用 Refresh Token 请求一个新的 Access Token |
√ |
√ |
|
撤销用户所有的 Refresh Token |
√ |
√ |
|
向用户邮箱发送验证码 |
√ |
× |
|
对验证码进行验证 |
√ |
× |
用户组¶
操作名称 |
描述 |
适用于 EnOS Cloud |
适用于 EnOS Edge |
---|---|---|---|
为用户分配用户组 |
√ |
× |
|
获取 OU 内的用户组列表 |
√ |
× |
|
获取用户组的用户列表 |
√ |
× |
|
批量获取用户的用户组 |
√ |
× |
|
为用户移除用户组 |
√ |
× |
应用¶
操作名称 |
描述 |
适用于 EnOS Cloud |
适用于 EnOS Edge |
---|---|---|---|
创建或修改菜单组 |
√ |
× |
|
获取应用在特定 OU 的接口授权信息 |
√ |
× |
|
获取应用信息 |
√ |
√ |
|
获取应用的权限点及菜单列表 |
√ |
√ |
|
获取应用的菜单组 |
√ |
× |
|
获取用户在 OU 内指定应用下有权限的权限点及菜单列表 |
√ |
× |
|
获取用户在当前应用下授权的权限点 |
√ |
× |
|
通过 Access Token 获取当前用户有权限的应用的列表 |
√ |
√ |
|
修改应用在特定 OU 的接口授权信息 |
√ |
× |
|
更新应用信息 |
√ |
× |
组织/OU¶
操作名称 |
描述 |
适用于 EnOS Cloud |
适用于 EnOS Edge |
---|---|---|---|
根据 Access Token 列出当前用户所在的 OU 列表 |
√ |
√ |
|
获取指定 OU 下可使用语言的列表 |
√ |
√ |
角色¶
操作名称 |
描述 |
适用于 EnOS Cloud |
适用于 EnOS Edge |
---|---|---|---|
为用户分配角色 |
√ |
× |
|
创建角色 |
√ |
× |
|
获取 OU 内所有角色 |
√ |
√ |
|
获取角色的菜单组、权限点或可见组织结构 |
√ |
× |
|
获取单个用户的角色 |
√ |
√ |
|
批量获取用户的角色 |
√ |
× |
|
获取拥有特定角色的用户列表 |
√ |
× |
|
为用户移除角色 |
√ |
× |
|
为角色分配或移除菜单组、权限点或可见组织结构 |
√ |
× |
组织结构¶
操作名称 |
描述 |
适用于 EnOS Cloud |
适用于 EnOS Edge |
---|---|---|---|
给用户分配组织结构 |
√ |
× |
|
将资产挂载到组织结构节点 |
√ |
× |
|
创建组织结构节点 |
√ |
× |
|
删除组织结构节点 |
√ |
× |
|
获取资产所在的组织结构的上游组织结构 |
√ |
√ |
|
获取应用下挂载的组织结构根节点 |
√ |
× |
|
获取应用下挂载的完整组织结构节点 |
√ |
× |
|
获取用户有权查看的组织结构 |
√ |
× |
|
获取用户所分配的组织结构节点 |
√ |
√ |
|
批量获取用户的组织结构 |
√ |
× |
|
为用户移除组织结构 |
√ |
× |
|
修改组织结构节点 |
√ |
× |
资源¶
操作名称 |
描述 |
适用于 EnOS Cloud |
适用于 EnOS Edge |
---|---|---|---|
将资产授权给用户 |
√ |
√ |
|
查看用户账号是否具有资产的权限 |
√ |
√ |
|
获取当前用户在指定组织结构上有权限的资产 |
√ |
√ |
|
批量获取用户的资产权限 |
√ |
× |
|
获取对某一资产有权限的用户列表 |
√ |
√ |
|
将带有指定标签的资产同步到管理员控制台 |
√ |
√ |
|
分配或移除用户的资产权限 |
√ |
× |
|
将资源批量关联到组织结构节点 |
√ |
× |
|
创建资源类型 |
√ |
× |
|
删除资源 |
√ |
× |
|
删除资源类型 |
√ |
× |
|
获取当前用户在指定应用下有权限的所有资源 |
√ |
√ |
|
获取指定用户在指定 OU 下有权限的所有资源 |
√ |
√ |
|
获取 OU 内资源列表 |
√ |
× |
|
获取 OU 内资源类型列表 |
√ |
× |
|
注册资源 |
√ |
× |
|
编辑资源信息 |
√ |
× |
|
编辑资源类型信息 |
√ |
× |
日志¶
操作名称 |
描述 |
适用于 EnOS Cloud |
适用于 EnOS Edge |
---|---|---|---|
创建审计记录事件 |
√ |
× |
|
查询审计日志记录 |
√ |
× |
|
查询用户访问菜单的操作记录 |
√ |
× |
消息¶
操作名称 |
描述 |
适用于 EnOS Cloud |
适用于 EnOS Edge |
---|---|---|---|
创建应用门户上的消息 |
√ |
√ |
|
创建消息规则 |
√ |
× |
|
删除消息规则 |
√ |
× |
|
获取可用的消息图标颜色列表 |
√ |
√ |
|
获取可用的消息提示声列表 |
√ |
√ |
|
获取未确认的应用消息列表 |
√ |
√ |
|
查询消息规则 |
√ |
× |
|
更新消息规则 |
√ |
× |
|
更新消息状态 |
√ |
√ |
通用错误码¶
代码 |
错误信息 |
描述 |
---|---|---|
0 |
/ |
成功 |
31400 |
parameter.invalid.[参数名称] |
请求参数不合法,例如 parameter.invalid.userId 表示 userId 参数值不合法。请修改参数值后重试。 |
31401 |
unauthenticated |
用户未登录,请先登录应用门户。 |
31403 |
permission.denied |
应用或用户无权访问或无权操作,请联系管理员。 |
31404 |
[主体名].not.exist |
主体不存在,例如 user.not.exist 表示用户不存在。请修改参数值后重试。 |
31408 |
[主体名].already.existed |
主体已存在,例如 user.already.existed 表示该用户已存在。请修改参数值后重试。 |
31409 |
[主体名] |
主体冲突,例如账号在另一地点登录。请解决冲突后重试。 |
31410 |
[主体名].expired |
主体已过期,例如 token.expired 表示 token 已过期。请刷新后重试。 |
31415 |
[].out.range |
参数值超出取值范围,请修改后重试。 |
31429 |
[操作名.主体名].exhausted |
操作过于频繁,超过限制次数,请稍后重试。 |
31432 |
[entity name].too.many |
主体超出数量限制。例如,user.too.many 表示 user 数量超出限制,请修改后重试。 |
31500 |
system.internal.error |
系统错误,请联系系统管理员。 |
31504 |
timeout |
服务超时,请稍后重试或联系系统管理员。 |
31512 |
organization unselected |
用户登录后未选择 OU,需选择一个 OU。 |
31403 |
This API can be requested through EnOS APIM only |
此 API 只能通过 EnOS API 管理(API Management)调用。 |