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