应用门户服务 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

Create User with Password

创建用户,设置初始密码,并将用户添加到 OU

√

×

Create and Join User

创建用户并为该用户分配 OU

√

×

Create User and Choose Organization

创建用户并为该用户分配 OU

√

×

Get Manageable User List

获取当前账号权限下可管理的所有用户列表

√

√

Get Organization User List

获取 OU 下所有用户列表

√

√

Get App User List

根据应用的 accessKey 获得当前用户权限范围内对该应用可见的用户列表信息

√

√

Get User Base Info

根据用户邮箱、账号和域、或电话号码和电话区号获取用户账号的基本信息如用户 ID 等

√

×

Get User Domain

通过用户邮箱地址获取用户账号的域信息

√

√

Get User Information

获取当前用户的账号信息

√

√

Join Users

将用户批量添加至 OU

√

×

Remove User

把一个用户移出 OU

√

×

Update User Information

更新用户信息

√

×

用户身份认证


操作名称

描述

适用于 EnOS Cloud

适用于 EnOS Edge

Choose Organization

在登录后选择用户需要进入的 OU

√

√

Confirm Password

确认已登录用户的密码

√

×

Get Token Information

获取 Access Token 所对应的用户相关信息

√

√

Get Password Token

获取用于重置密码的 Token

√

×

Log In

登录账号

√

√

Log In via Authorization Code

通过单点登录(SSO)的授权码登录

√

×

Log Out

登出账号

√

√

Reset Password with Token

使用 Token 重置用户密码

√

×

Refresh Access Token

使用 Refresh Token 请求一个新的 Access Token

√

√

Revoke Refresh Token

撤销用户所有的 Refresh Token

√

√

Send Verification Code

向用户邮箱发送验证码

√

×

Verify Code

对验证码进行验证

√

×

用户组


操作名称

描述

适用于 EnOS Cloud

适用于 EnOS Edge

Assign User Groups

为用户分配用户组

√

×

Get Organization User Group List

获取 OU 内的用户组列表

√

×

Get Users by User Group

获取用户组的用户列表

√

×

Get Users UserGroup List

批量获取用户的用户组

√

×

Remove User Groups

为用户移除用户组

√

×

应用


操作名称

描述

适用于 EnOS Cloud

适用于 EnOS Edge

Create or Update Menu Group

创建或修改菜单组

√

×

Get Application Authorization

获取应用在特定 OU 的接口授权信息

√

×

Get Application Information

获取应用信息

√

√

Get App Menu and Permission

获取应用的权限点及菜单列表

√

√

Get Application Menu Group

获取应用的菜单组

√

×

Get App Resources by User and Organization

获取用户在 OU 内指定应用下有权限的权限点及菜单列表

√

×

Get User Permissions

获取用户在当前应用下授权的权限点

√

×

Get User’s Applications

通过 Access Token 获取当前用户有权限的应用的列表

√

√

Update Application Authorization

修改应用在特定 OU 的接口授权信息

√

×

Update Application Information

更新应用信息

√

×

组织/OU


操作名称

描述

适用于 EnOS Cloud

适用于 EnOS Edge

Get Organization List

根据 Access Token 列出当前用户所在的 OU 列表

√

√

Get Organization Language List

获取指定 OU 下可使用语言的列表

√

√

角色


操作名称

描述

适用于 EnOS Cloud

适用于 EnOS Edge

Assign User Roles

为用户分配角色

√

×

Create Role

创建角色

√

×

Get Organization Roles

获取 OU 内所有角色

√

√

Get Role Permission

获取角色的菜单组、权限点或可见组织结构

√

×

Get User Roles

获取单个用户的角色

√

√

Get Users Role List

批量获取用户的角色

√

×

Get Users by Role

获取拥有特定角色的用户列表

√

×

Remove User Roles

为用户移除角色

√

×

Update Role Permission

为角色分配或移除菜单组、权限点或可见组织结构

√

×

组织结构


操作名称

描述

适用于 EnOS Cloud

适用于 EnOS Edge

Assign Organization Structures

给用户分配组织结构

√

×

Assign Assets to Organization Structure

将资产挂载到组织结构节点

√

×

Create Organization Structure

创建组织结构节点

√

×

Delete Organization Structure

删除组织结构节点

√

×

Get Asset Structure

获取资产所在的组织结构的上游组织结构

√

√

Get Structure by App

获取应用下挂载的组织结构根节点

√

×

Get Structure by Detail

获取应用下挂载的完整组织结构节点

√

×

Get Structure by User

获取用户有权查看的组织结构

√

×

Get User Structures

获取用户所分配的组织结构节点

√

√

Get Users Structure List

批量获取用户的组织结构

√

×

Remove Organization Structures

为用户移除组织结构

√

×

Update Organization Structure

修改组织结构节点

√

×

资源


操作名称

描述

适用于 EnOS Cloud

适用于 EnOS Edge

Authorize Asset

将资产授权给用户

√

√

Check Asset Permission

查看用户账号是否具有资产的权限

√

√

Get Structure Asset

获取当前用户在指定组织结构上有权限的资产

√

√

Get Users Asset List

批量获取用户的资产权限

√

×

Get Users with Asset Access

获取对某一资产有权限的用户列表

√

√

Sync Asset

将带有指定标签的资产同步到管理员控制台

√

√

Update User Asset Permission

分配或移除用户的资产权限

√

×

Associate Resource to Organization Structure Node

将资源批量关联到组织结构节点

√

×

Create Resource Type

创建资源类型

√

×

Delete Resource

删除资源

√

×

Delete Resource Type

删除资源类型

√

×

Get Assets by Application

获取当前用户在指定应用下有权限的所有资源

√

√

Get Assets by Organization

获取指定用户在指定 OU 下有权限的所有资源

√

√

Get Resource List

获取 OU 内资源列表

√

×

Get Resource Type

获取 OU 内资源类型列表

√

×

Register Resource

注册资源

√

×

Update Resource

编辑资源信息

√

×

Update Resource Type

编辑资源类型信息

√

×

日志


操作名称

描述

适用于 EnOS Cloud

适用于 EnOS Edge

Create Audit Log

创建审计记录事件

√

×

Query Audit Logs

查询审计日志记录

√

×

Query Menu Access Logs

查询用户访问菜单的操作记录

√

×

消息


操作名称

描述

适用于 EnOS Cloud

适用于 EnOS Edge

Create Message

创建应用门户上的消息

√

√

Create Message Rules

创建消息规则

√

×

Delete Message Rules

删除消息规则

√

×

Get Colors of the Message Icon

获取可用的消息图标颜色列表

√

√

Get Message Ringtones

获取可用的消息提示声列表

√

√

Get Unresolved Messages

获取未确认的应用消息列表

√

√

Search Message Rules

查询消息规则

√

×

Update Message Rules

更新消息规则

√

×

Update Messages

更新消息状态

√

√

通用错误码


代码

错误信息

描述

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)调用。