关于前端微信分享jssdk config:invalid signature 签名错误

invalid signature签名错误排查 wx-open-launch-app组件签名报错问题排查 阅读详情

关于前端微信分享jssdk config:invalid signature 签名错误


这几天刚刚把微信写完,说出来你可能不信,我写个微信分享一起用了2个礼拜。中间各种心酸,一开始后台老大哥帮我把后台签证给写好了,不过不起作用,想叫他在改,但是后面公司有个项目急着上线,没有空,产品催的又急,自己没有办法,开始自己处理后台.
好了,话不多说,正文开始

首先微信的的东西看微信SDK文档是肯定的

因为我是前端,就只写关于前端的代码了,后台我也涉及了,在文章的最后我会附上我自己改的后台代码


$(function() {
//	微信验证
	var conf = "";
	var urld = window.location.href.split('#')[0];
$.ajax({
		type: "post",
		dataType: 'json',
		url: '接口链接',
		data: {
			url: urld
		},
		
		success: function(conf) {
			console.log(conf);
			configWxAPI(conf);
			var conf = conf.url;
			return conf;
		

		},
		error: function(event, XMLHttpRequest, ajaxOptions, thrownError) {
			
		}
	});

	//配置权限
	function configWxAPI(conf) {
		wx.config({
			debug: false, //开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端
			//打开,参数信息会通过log打出,仅在pc端时才会打印
			appId: "唯一的ID", //必填,公众号的唯一标识
			timestamp: conf.timestamp, //必填,生成签名的时间戳
			nonceStr: conf.nonceStr, //必填,生成签名的随机串
			signature: conf.signature, //必填,签名
			jsApiList: [
				
				'onMenuShareTimeline',
				'onMenuShareAppMessage',
				'onMenuShareQQ',
				'onMenuShareWeibo',
				'previewImage',
				
			] //必填,需要使用的JS接口列表,也就是配置你想使用的调用接口
		});
//		微信分享
		wx.ready(function() {
          //分享的图片
			var imgUrl = ""
                      //分享朋友
			wx.onMenuShareAppMessage({
				title: "标题",
				desc: "内容简介",
				link: "分享链接",
				imgUrl: imgUrl,
				success: function() {
					//分享成功之后执行的回调函数
				},
				cancel: function() {
					//取消分享之后执行的回调函数
				}
			});
                             //分享朋友圈
			wx.onMenuShareTimeline({
				title: "标题",
				desc: "内容简介",
				link: "分享链接",
				imgUrl: imgUrl,
				success: function() {
					//分享成功之后执行的回调函数
				},
				cancel: function() {
					//取消分享之后执行的回调函数
				}
			});
		});
		wx.error(function(conf) {
			console.log(conf);
			// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
		});
	};
	});

后台部分的代码

public function getSignPackage() {
  	
  	if(IS_POST){
	    if(!I('post.url')) $this->ajaxReturn(array('status'=>0,'msg'=>'请输入当前的URL'));
	    $jsapiTicket = $this->getJsApiTicket();
	      //这句代码微信SDK上面没有介绍,但是用来签证的url里面就&后面会自动带有&,所以这里用了php的字符串替换
   		$url =  str_replace("&","&",I('post.url'));

	    $timestamp = time();
	    $nonceStr = $this->createNonceStr();
      ##### 个人理解为,微信的签证是需要随机字符串+url+时间+getticket接口获取的 JSAPI 调用凭证   编码生成的(不知道对不对)

这里的时间还有随机字符串传给和前台的一样,还有url链接是由前台传给后台,在由后台通过这个url进行下面的编码


记住传给后台的url和当前链接要一模一样,记住传给后台的url和当前链接要一模一样,记住传给后台的url和当前链接要一模一样

    // 这里参数的顺序要按照 key 值 ASCII 码升序排序
    $string = "jsapi_ticket=$jsapiTicket&noncestr=$nonceStr&timestamp=$timestamp&url=$url";

    $signature = sha1($string);

    $signPackage = array(
    "jsapiTicket" =>$jsapiTicket,
      "appId"     => $this->appId,
      "nonceStr"  => $nonceStr,
      "timestamp" => $timestamp,
      "url"       => $url,
      "signature" => $signature,
      "rawString" => $string
    );
    $this->ajaxReturn($signPackage);
之后就通过微信的验证OK之后,就可以了分享了 或者调用别的微信接口了

可以关注一下

H5实现微信分享 背景 前篇文章介绍了公司业务需要,我们需要做一个H5端的商城,在微信内分享时发现,采用右上角分享,分享出去的样式很丑,基于此我们就接入微信自定义分享功能,来美化一波。(同样我只介绍前端需要的工作) 技术准备 1.首先项目引入微信JSSDK的JS文件,直接在项目的入口文件(public/index.html)文件引入就行。文档地址。 2.都2019了 项目基本都用的框架,所以没有用框架的自己单独引入... 阅读详情

相关推荐

微信分享集成全攻略:从JSSDK到小程序,一次搞定社交裂变

在移动应用开发中,社交分享功能是实现用户裂变和内容传播的核心技术。其原理是通过调用平台提供的SDK接口,将应用内容以标准化格式分享至社交网络,从而带来流量回流和用户增长。这项技术的价值在于打通应用与社交平台的连接,是提升用户活跃度和实现病毒式传播的关键。在微信生态中,开发者需要根据网页、小程序和原生App等不同应用场景,选择对应的技术方案。其中,网页场景的微信JSSDK集成涉及服务端签名、安全域名配置等复杂流程,是技术难点和常见问题的集中区。本文聚焦于JSSDK的集成实战,深入解析签名生成、SPA适配等关键

culh2177的博客 711

微信网页调用分享功能出现config:fail,invalid signature的解决,及其开发过程中需要注意的几个地方

在开发网页分享功能的时候,会出现{errMsg: "config:fail,invalid signature", jsApiList: Array(0)})里的link值不一样!并且分享接口的link的域名必须在公众号开发的白名单中!,"onMenuShareAppMessage"] // 必填,需要使用的JS接口列表。第三,出现config:fail,invalid signature问题,很容易出现的原因,第一个就是确认开发的公众号是否有所需jdk的使用权限,可以用微信开发工具打开。

qq_27681677的博客 1万+

vue3(微信公众号H5网页):调用wx.config报错config:fail,invalid signature,在vue3 h5项目开发微信内置浏览器JS-SDK/JS-API提示签名失效/错误

微信公众号网页,vue3 H5网页,uniapp h5,wx.config 报错:config:fail,invalid signature?无效签名,微信JSSDK分享接口中wx.config 出现invalid signature问题的解决办法,微信公众号签名失效,wx.config中出现invalid signature的解决方法,H5页面调起微信的拍照与分享功能,导致的config:invalid signature这个错误的解决办法,微信网页调用分享功能出现config:fail,invalid

✅ 精选推荐文章 5051

微信jssdk config:invalid signature 签名错误 ,问题排查过程

这段时间在做微信扫一扫的功能,结果遇到了一直config:invalid signature,后面发现是自己的url没有带参数,?后面的都需要传到后台进行签名算法,这样签名才不会错。这边先自己整理出来怕以后再次遇到这个问题。 invalid signature签名错误。建议按如下顺序检查: 确认签名算法正确,可用 http://mp.weixin.qq.com/debug/cgi-

Brooke的博客 1933

单细胞分析实战:用R语言绘制带连线的堆叠柱状图(附完整代码)

本文详细介绍了如何使用R语言绘制带连线的堆叠柱状图进行单细胞转录组数据分析,特别适用于展示细胞比例变化趋势。通过完整代码示例和实战技巧,帮助研究者优化多组别比较的可视化效果,提升科研图表质量。

yhn4567890的博客 390

【Scrapy】Scrapy教程4——命令行工具

Scrapy支持使用模块设置自己的项目命令。如何实现可参考的实践方法。然后在项目的settings文件中配置来添加自定义命令。以上就是对Scrapy命令行工具的说明,有不明确的地方,可参考官方文档欢迎大家在各大平台关注我,我会不定期发布技术相关文章和各种小工具,并且欢迎共同技术探讨!

jayhgq的博客 1251

微信公众号之:JSSDK接入以及invalid signature等常见错误问题

最近在搞微信公众号开发,进行到网页开发部分被坑了一天,最坑的问题就是invalid signature,而网上大部分解答这个问题的都没有说清楚,都直接丢文档。博主认为这样很不好。本文是博主结合自身遇到的问题所写,整个流程跟问题都很详细,虽然排版可能有点不好。但是绝对对遇到类似问题的朋友有所帮助。请认真看下去 一、绑定JS接口安全域名 生产号绑定方法:登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。 测试号绑定方法:进入测试号管理页面,找到JS接口安全域名项绑定 JS接口安全域名

疯一样的女子 2268

Java实战:用Proj4j搞定WGS84与CGCS2000坐标互转(附完整代码)

本文详细介绍了如何使用Java库Proj4j实现WGS84与CGCS2000坐标系之间的高精度转换。通过七参数转换模型和格网改正量文件,提供完整的代码实现和项目配置指南,帮助开发者快速集成到地理信息系统项目中,提升坐标转换效率和精度。

weixin_29251567的博客 829

config:invalid signature 解决办法和问题排查详解

invalid signature 问题排查及解决办法

a_靖的博客 6万+

VS Code 配置 LaTeX 写作环境完全指南

本文详细介绍了如何在 VS Code 中配置 LaTeX 写作环境,涵盖了从安装必备组件到高级功能的全面指南。首先,用户需要安装 LaTeX 发行版(如 TeX Live 或 MiKTeX)和 VS Code 插件(如 LaTeX Workshop)。接着,通过修改 settings.json 和 keybindings.json 文件,用户可以自定义编译、查看快捷键等基础配置。文章还提供了高效写作技巧,如使用代码片段和多文件项目管理,并介绍了高级功能如反向同步、公式预览和参考文献管理。此外,针对常见问题(

weixin_70043030的博客 1984

告别信号干扰!用Altium Designer 19搞定4层/6层PCB叠层设计的保姆级流程

本文详细介绍了如何使用Altium Designer 19进行4层/6层PCB叠层设计,解决信号干扰问题。通过实际案例和系统方法论,涵盖高速数字电路、混合信号系统等典型场景的设计优化,帮助硬件工程师和学生掌握电磁兼容(EMC)与信号完整性(SI)的核心技术。

weixin_27076351的博客 206

微信 js-sdk config:invalid signature

在调用微信 js-sdk 开发页面时,经常会遇到 config:invalid signature 的错误 在官方手册是这么解释此类错误,并提供了自查顺序: 因为在项目中,获取签名的后端接口是经过线上环境验证无误的,在前端可能出问题的只有第 2、3、4、6 步。 第 2、4 步只要对照验证一下就可以很快排错,所以真正有可能出问题的是第 3、6 步。 将第 3、6 步总结一下是,如果我们需要在页面...

zwkkkk1的博客 1875

RT-Thread必考面试题及参考答案

RT-Thread的设备驱动模型遵循层次化的结构,设计简洁且易于扩展。它主要由设备注册、设备操作和设备控制三部分组成。设备驱动模型允许开发者为不同的硬件设备编写驱动程序,这些驱动程序可以被RT-Thread内核统一管理和调度。在RT-Thread中,设备被抽象成一系列标准的接口,包括打开、关闭、读取、写入、控制等操作,这些操作封装在结构体中。设备驱动程序需要实现这些接口,然后通过调用函数注册设备,使其对系统可见。这种模型不仅简化了驱动开发,还提高了代码的可移植性和可维护性。

大模型大数据攻城狮的专栏 1824

微信jssdk ios下config invalid signature签名错误问题,Android成功ios失败

问题出现背景: 常见错误及解决方法 相关官方文档 vue等单页面spa应用 config调用处不在启动页 Android及开发者工具浏览器正常,ios下debug invalid signature失败 wx.config 基本流程: 前端传递当前页面url给后端换取签名参数 ==> 签名参数带入 wx.config 问题排查 后端出现问题的可能性不大,官方有示例文件,后端如果有问题大概率是appid等相关参数没有对应正确 1️⃣ 首先确定debug返回的错误是 invalid signa.

weixin_43856797的博客 3076

【主题建模】一种基于深度学习的主题建模方法:BERTopic(理论篇)

在我的博客中已经写了很多关于主题建模的内容,当你准备了解 BERTopic 时,默认你已经知道了 LSA、pLSA、NFM、LDA 等传统的主题建模方法。关于主题建模的前置知识我在这里不做赘述,感兴趣的同学可以看看我前几篇博客。学习 BERTopic 需要一定的机器学习基础,让我们一起开始吧!

Data · Model · Agent · Repeat 9895

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

微信jssdk config:invalid signature 签名错误

官方的php demo,找了3天,没有结果,留个地方,找到解决方法一定要记录下来。 网上到处都是copy官方的说明文档,真心没有几个是自己总结的。

云上人间钦自赏 6829

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

公众号分享invalid signature

invalid signature签名错误。建议按如下顺序检查: 送上一波福利 微信公众号开发、企业建站开发、小程序、vue、h5、css3、react等前端视频学习资料关注公众号【码兄】免费获取 1.确认签名算法正确,可用http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign页面工具进行校验。 2.确认config中non...

小马总的博客 2535

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

java微信分享签名错误_微信分享JSSDK-invalid signature签名错误的解决方案

核对官方步骤,确认签名算法。确认签名算法正确,可用 http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign 页面工具进行校验。确认config中nonceStr(js中驼峰标准大写S), timestamp与用以签名中的对应noncestr, timestamp一致。确认url是页面完整的url(请在当前页面alert(location....

weixin_42533120的博客 549

微信jssdk配置一直正常,但通过分享出去的链接点击进来却出现 invalid signature

最近要在微信公众号上做个分享的功能,因为要分享后做相应的处理,因此自然要配置微信的jssdk。 经过测试,分享成功后是能成功回调的,因此说明jssdk目前是没有问题的。 但却出现了一个情况 ,就是通过分享后的链接再点击进来的时候,就出现了invalid signature。 经过排查比对后发现问题出现在分享后的链接上,因为分享的链接多了 ;jsessionid=90169B860BF64CD02

MK 乘风破浪~的博客 4550

记录--微信调用jssdk--Invalid Signature, updateAppMessageShareData: denied等问题

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 最近在做安卓内嵌入H5活动页拉新活动,遇到的棘手问题记录下, 一是为了日后遇到同样问题好回顾,二是希望能帮到有同样问题的兄弟。 废话不多说,先从最棘手的问题直接开始: 一、Invalid Signature 1.因为项目内是Vue中的hash模式,所以遇到这个问题时,一直怀疑hash模式是不是不可以。——其实可以,hash和hi...

林恒的博客 4181

微信分享JSSDK-invalid signature签名错误的解决方案

微信分享JSSDK-invalid signature签名错误的解决方案

dearbaba_8520的博客 207

微信网页分享 jssdk config:invalid signature 签名错误

invalid signature签名错误。建议按如下顺序检查: 确认签名算法正确,可用http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign页面工具进行校验。 确认config中noncestr, timestamp与用以签名中的对应noncestr, timestamp一致。 确认url是页面完整的url,包括...

diesi4323的博客 339

微信公众号 JS-SDK接口 invalid signature 签名错误

签名错误首先去官网看一下签名生成是否正确,以及错误原因 链接:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115 获取    access_token   function token(){ $appid ="xxxxx"; $secret = "xxxxx"; $url = "...

浓汤 1260

博客-微信JSSDK-SPA跳转后签名失败(坑点2)解决方案(uni-app H5实战)

SPA 跳转后 URL 变了,但签名没更新把“重签名/重 config”收口到工具层,业务页面只负责调用能力只认入口 URL,因此要在入口尽早缓存入口 URL。

jxjx830的博客 695

iphone X中react-router单页面如何有效配置微信 解决iOS中invalid signature问题 the permission value is offline verifying

iOS中,在某个页面内调用微信JSSDK相关API,如扫码、分享等,使用当前页面URL总会出现签名错误(invalid signature),导致API调用失败。 在JSSDK文档页面有这么一句话: 所有需要使用JS-SDK的页面必须先注入配置信息,否则将无法调用(同一个url仅需调用一次,对于变化url的SPA的web app可在每次url变化时进行调用,目前Android微信客户端不支持pushState的H5新特性,所以使用pushState来实现web app的页面会导致签名失败,此问题会在And

Wbiokr的博客 1365
上一篇: 新手学习vue必看
下一篇: 关于前端面试经历
SteveTang957
博客等级 码龄9年 15粉丝 63原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值