云通讯平台基于安全考虑,在开发者调用云通讯平台语音API后,云通讯平台会向第三方应用服务器发起鉴权请求,如下图所示:
因此,在一个语音应用正式上线前,开发者需要配置第三方应用服务器的鉴权地址(云通讯称之为回调地址),请参考新手指引;云通讯的鉴权请求采用标准的HTTP/HTTPS,请求和响应的报文参见鉴权接口说明。
1、鉴权接口说明
首先要明确鉴权通知有3个:分别为呼叫鉴权,呼叫建立,呼叫挂机计费,对应的Action分别为CallAuth,CallEstablish,Hangup,第三方处理程序需要根据Action区分通知。
2、添加应用回调配置
在创建或修改应用页面配置应用回调地址,并勾选鉴权选项:
注:勾选其他回调功能,回调Action判断与鉴权相同。
3、配置鉴权URL
开发者根据自身应用服务器的开发语言和运行环境,可以任选以下一种方式处理鉴权通知。
1、通过URL区分鉴权通知
需要在URL上增加通配符**,云通讯平台会将通配符替换为对应的Action。应用配置回调地址:
说明 |
地址 |
---|---|
应用回调地址 |
www.abc.com/** |
云通讯转译后请求第三方的地址:
说明 |
地址 |
---|---|
呼叫鉴权通知回调地址 |
www.abc.com/CallAuth |
呼叫建立通知回调地址 |
www.abc.com/CallEstablish |
呼叫挂机计费通知回调地址 |
www.abc.com/Hangup |
2、通过包体解析区分鉴权通知
无需再Url上增加通配符,云通讯平台在回调Url上不拼接对应的Action,第三方需要解析请求包体,根据Action区分通知,包体解析时参考鉴权接口说明。应用配置回调地址:
说明 |
地址 |
---|---|
应用回调地址配置 |
www.abc.com |
云通讯请求第三方的地址:
说明 |
地址 |
---|---|
呼叫鉴权通知回调地址 |
www.abc.com |
呼叫建立通知回调地址 |
www.abc.com |
呼叫挂机计费通知回调地址 |
www.abc.com |
4、鉴权处理程序部署
建议先使用官方提供的鉴权Demo进行鉴权测试。依照鉴权通知的方式部署对应的鉴权处理程序,查看请求日志是否正常。
1、配置应用鉴权后,呼叫成功,但第三方鉴权模块没有收到云通讯的通知
首先要确保第三方服务器和网络运行正常;其次要检查使用的应用ID和通讯账号是否为隶属的应用,因为如果误使用测试demo应用的账号,默认是不做鉴权的。
2、配置应用鉴权地址后,呼叫无法拨通
首先要确认应用配置的回调地址已生效;其次第三方应用服务器收到鉴权请求要正确地按云通讯要求返回包体响应。