为了降低第三方应用集成华为云会议难度,并且提升开放接口的安全性,华为云会议开放能力中支持基于App ID的鉴权方式。App ID是一个应用的标识,同一个App ID可以同时在第三方的桌面终端、移动终端、Web应用上使用。
App ID鉴权原理
图1 第三方客户端App ID鉴权流程
鉴权前提:
开发者在华为云会议控制台上为自己的应用申请AppID,并获取App ID和App Key。
开发者在自己的服务端集成Signature生成算法,请参考“第三方服务集成Signature生成算法”。
SDK初始化时传入App ID,请参考《客户端SDK参考》中的“初始化”部分。
鉴权过程:
第三方客户端将User ID(第三方User ID)发送给第三方服务器。
第三方服务器根据App ID、User ID、App Key等,生成鉴权用的签名材料Signature。
第三方服务端返回Signature,以及ExpireTime和Nonce值。
第三方客户端调用客户端SDK的Login接口,参数为User ID、Signature、ExpireTime和Nonce。
客户端SDK去华为云会议服务端鉴权。
鉴权通过后SDK获取接入Token。该Token对第三方客户端不可见,由SDK负责维护和刷新。
图2 第三方服务端App ID鉴权流程
鉴权前提:
开发者在华为云会议控制台上为自己的应用申请AppID,并获取App ID和App Key。
开发者在自己的服务端集成Signature生成算法,请参考“第三方服务集成Signature生成算法”。
鉴权过程:
第三方服务端根据调用的业务接口所需的User ID(第三方User ID),加上App ID、App Key、ExpireTime和Nonce,生成鉴权用的签名材料Signature。
第三方服务端调用华为云会议服务端的AppID鉴权接口(REST接口)。
华为云会议服务端鉴权通过后,返回接入Token。
第三方服务端使用接入Token调用其他业务接口。
说明:
-
接口Token有效期是12~24小时。
-
生成Signature和调用appAuth接口时可以不带User ID,如果不带User ID默认是创建企业时的创建者(企业Owner)。
-
User ID需要第三方应用保证在同一个企业内是唯一的。如果第三方开发者是SP,同一个应用在多个企业使用,接口中除了带User ID外,还需要带Corp ID(企业ID)
-
如果需要使用华为云会议通讯录的情况下,在登录鉴权过程中还可以携带邮箱、姓名、电话号码等信息,这些信息将被写入华为云会议的通讯录中。
App ID的申请
使用华为云账号,登录华为云会议控制台。前提是该华为云账号已经购买了华为云会议服务或者已经绑定了华为云会议企业管理员帐号,请参考“开发流程”章节中的“开发前准备”。
点击“应用管理”,再点击“申请应用”。在弹出的创建应用的输入框中输入第三方应用的名称及描述。
图3 创建应用