开发者社区> 问答> 正文

开放平台JSAPI的bug

使用API的免登功能,在计算签名的时候,如果当前页面地址的GET参数里带有%3a %2f 等等字符串的时候,dd.config无法正确执行,dd.ready()不会触发回调。


比如页面地址是:h   t   t  p :://user.58cwy.com/action.php?type=login&client=dingtalk&channel=c1&return=http%3A%2F%2Fuser.58cwy.com%2Faction.php%3Ftype%3Dlogin%26client%3Dqr%26step%3Dfocus%26code%3Dgajldfwef


服务端计算出来的config是:
var config = {"nonceStr":"a5bb164bd24b4d4a70b6b6ef826d6879","agentId":" xxxxxx隐藏xxxxxxx ","timeStamp":1465584266,"corpId":"xxxxxx隐藏xxxxxxx","signature":"145091e566d6a8cf93d3280120da00cf29255d5b"};

展开
收起
城外游 2016-06-11 02:47:08 3534 0
2 条回答
写回答
取消 提交回答
  • Re回 1楼injekt的帖子
    没有触发任何回调,感觉上是JSAPI内部哪儿产生了js错误,由于我没搞成功远程调试功能,具体情况也不得而知,你们可以自己试试。我敢肯定绝度不是页面url不一致的问题,我已经反复测试过很多次。只要页面url的get参数的值带有%3a这类urlencode编码,就会存在问题。只要去掉这类编码字符就一切正常。现在为了避免urlencode的百分号字符,我只能换用base64来编码参数,非常麻烦,希望你们再排查一下问题,谢谢。
    2016-06-20 12:04:20
    赞同 展开评论 打赏
  • 您好,是不是触发了dd.error的回调?如果是的话,错误很可能是“签名校验错误”,错误的原因应该是生成签名所用的url和当前页面的url不一致
    2016-06-12 17:24:09
    赞同 展开评论 打赏
问答分类:
API
问答地址:
问答排行榜
最热
最新

相关电子书

更多
友盟+智能认证U-Verify 立即下载
《云市场-友盟+智能认证U-Verify》 立即下载
低代码开发师(初级)实战教程 立即下载

相关实验场景

更多