资讯专栏INFORMATION COLUMN

微信JSSDK分享,解决config:invalid signature问题

fsmStudy / 3500人阅读

摘要:微信分享可以实现自己的网页在微信自定义图标,标题,还有描述,还可以分享到朋友圈,分享到微信群,分享给朋友等操作。

微信JSSDK分享可以实现自己的网页在微信自定义图标,标题,还有描述,还可以分享到朋友圈,分享到微信群,分享给朋友等操作。

上图就是,左侧是分享到朋友圈,右侧是分享到微信群。

很多开发者下载官方的demo进行开发,最后debug的时候,显示的是config:invalid signature
,这个原因其实很有可能是签名不一致。

我们需要保持签名一致,才能完整注入这个权限的。

一般,签名不一致的是因为access_token生成的时候,获取jsapi_ticket的时候有问题造成的,我一开始弄了好久都没搞对,后来一个个尝试。

我先尝试生成的一个jsapi_ticket,写死在页面,发现没问题,然后再尝试获取access_token写死在页面,也没问题,但是直接在页面上生成access_token再调用就不行。

我就另外写了一个access.php进行生成access_token,把access_token存入数据库,搞一个定时任务,每隔1小时生成一个新的access_token,因为access_token仅有2小时有效期,而且每天最多调用2000次,所以我觉得存数据库是比较好的。

然后在分享页面取数据库的access_token就行了。
下面是生成access_token的代码

access.php
access_token;
 
//连接数据库
$con = mysql_connect("数据库地址","数据库账号","数据库密码");
mysql_select_db("数据库名", $con);
mysql_query("INSERT INTO access_token (access_token) VALUES ("$token")");
mysql_close($con);
?>

下面是分享页面代码:

index.php
 "ADDPID修改为您的",
      "nonceStr"  => $nonceStr,
      "timestamp" => $timestamp,
      "url"       => $url,
      "signature" => $signature
    );
    return $signPackage; 
  }
  $signPackage = getSignPackage();
?>








微信分享DEMO


test



大概就这样就可以config:ok了
当然,开发过程中需要设置IP白名单,JS接口安全域名这些我就不多说了。

作者:TANKING
2018-10-25
http://likeyunba.com

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/98692.html

相关文章

  • angular2 + JSSDK微信分享定制总结

    摘要:本篇文章就记录我的做微信分享信息定制的过程和踩坑总结。但是,这就要求在每个组件中都加微信分享代码,会导致维护困难。 在微信浏览器内打开任何网页,若不配置分享接口,微信会默认使用如下信息作为分享信息: 默认标题:HTML的title 默认连接:当前页面的地址,即location.href 默认图片:会取当前页面body内最前面的一张符合条件的图片(尺寸必须大于300px × 300px...

    qylost 评论0 收藏0
  • 微信公众号页面(VUE)中如何配置微信JS-SDK和高德地图,以及遇到的一些问题记录

    摘要:安装并引入依赖包这里是说明文档下载依赖包在需要用到的模块引入检查是否引入成功可以在引入的模块中执行控制台显示以上代码表示引入成功配置微信所有需要使用的页面必须先注入配置信息,否则将无法调用开启调试模式调用的所有的返回值会 1.安装并引入JS-SDK依赖包 这里是JS-SDK说明文档 1.1 npm 下载依赖包 npm install weixin-js-sdk --save 1.2.在...

    Joyven 评论0 收藏0
  • 微信JSSDK提示invalid signature

    摘要:简直是个神坑,被坑哭了,所以记录一下把微信和改用存,为了避免并发导致次数被用完,加了锁,为了避免以后扩展,改用了分布式锁,改完用并发测试了下,一切正常,。 简直是个神坑,被坑哭了,所以记录一下! 把微信token和ticket改用redis存,为了避免并发导致token次数被用完,加了锁,为了避免以后redis扩展,改用了分布式锁,改完用100并发测试了下,一切正常,perfect。 ...

    zone 评论0 收藏0
  • 微信 jssdk 逻辑在 vue 中的运用

    摘要:微信在中的简单使用以上是微信官方给出的示例代码,但是对于实际项目使用,还需要进一步对代码进行封装。 微信 jssdk 在 vue 中的简单使用 import wx from weixin-js-sdk; wx.config({ debug: true, appId: , timestamp: , nonceStr: , signature: , jsApiLi...

    anRui 评论0 收藏0
  • thinkphp3.2,微信JS-SDK开发过程中遇到的各种问题与细节分享

    摘要:备注登录后可在开发者中心查看对应的接口权限。下载官网提供的示例代码,参照中的代码一步一步来实现。否则分享后的页面会签名失败返回的与分享的是否一致 首先完成官方文档前两步(很好理解就不具体说了):步骤一:绑定域名先登录微信公众平台进入公众号设置的功能设置里填写JS接口安全域名。备注:登录后可在开发者中心查看对应的接口权限。步骤二:引入JS文件在需要调用JS接口的页面引入如下JS文件,(支...

    miya 评论0 收藏0

发表评论

0条评论

fsmStudy

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<