为保证API的安全调用,在调用API时,互动白板会对每个API请求通过签名(Signature)进行身份验证。无论您使用HTTP还是HTTPS协议提交请求,都需要在请求中包含签名信息。

说明 阿里云提供了多种编程语言的SDK及第三方SDK,可以省略计算签名的步骤,更多信息,请参见阿里云SDK中心

API签名

互动白板服务会对每个API请求进行身份验证,无论您使用HTTP还是HTTPS协议提交请求,都需要在请求中包含签名(Signature)信息。

互动白板通过使用AccessKey ID和AccessKey Secret进行对称加密的方法来验证请求的发送者身份。AccessKey是为阿里云账号和RAM用户发布的一种身份凭证(类似于用户的登录密码),其中AccessKey ID用于标识访问者的身份,AccessKey Secret是用于加密签名字符串和服务器端验证签名字符串的密钥,必须严格保密。

createApp接口为例,假设使用的AccessKeyIdtestidAccessKeySecrettestsecret。 签名前的请求URL如下:

https://rtc-white-board.cn-shanghai.aliyuncs.com/?Action=createApp
&AppName=white_board
&Format=XML
&AccessKeyId=testid
&SignatureMethod=HMAC-SHA1
&SignatureNonce=3ee8c1b8-83d3-44af-a94f-4e0ad82fd6cf
&Version=2020-12-14
&SignatureVersion=1.0

使用testsecret&,计算得到的签名值:

Y8c1u47r2gHn6scXqz92wklKws1=

将签名作为Signature参数加入到URL请求中,最后得到的URL:

https://rtc-white-board.cn-shanghai.aliyuncs.com/?Action=createApp
&AppName=white_board
&Format=XML
&AccessKeyId=testid
&SignatureMethod=HMAC-SHA1
&SignatureNonce=3ee8c1b8-83d3-44af-a94f-4e0ad82fd6cf
&Version=2020-12-14
&SignatureVersion=1.0
&Signature=Y8c1u47r2gHn6scXqz92wklKws1=

阿里云为您提供了多种编程语言的SDK签名示例代码,如下所示: