jsapi安全优化

蜜蜂移动端虽然对网页开发者开放了一些能力,但出于安全考虑,要对调用功能进行验证。本文档就是说明如何安全调用蜜蜂开放的能力。

整体描述

1)OA Server调用openapi接口ticket/getticket获取ticket(调用蜜蜂JSAPI功能的临时票据)。
2)OA Server获得ticket,对每一个要打开的网页,根据url、服务器时间timestamp、随机生成的16字节字符串randomStr生成签名字符串,将签名及url、timestamp、randomStr传递给要在webview中显示的网页。网页加载完毕,调用jsapi功能config验证签名。
3)config验证通过,则该页面可以使用jsapi开发能力,否则不允许使用。

生成签名

ticket:从openapi获取的ticket;
url:当前网页URL;
timestamp:客户端时间戳(s);
ramdomStr:随机生成的16字节字符串;
按顺序$ticket$url$timestamp$ramdomStr串联字符串,按sha1算法生成签名signature。
    $str = $ticket.$url.$timestamp.$ramdomStr;        
    $signature = sha1($str);