关于前端微信分享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

展会客流统计的客流统计系统,WiFi客流每时每客

一般展会的举行时间都在3-7天之间,展会作为市场部门一项重要工作,一直以来没有一项有效的工具能够提供数据支持。 展会最重要的是通过活动和产品来吸引参展者的参观,如何统计展会期间的客流量呢?如何通过将数据转化成为活动数据的支撑呢? 目前成熟的解决方案有,视频客流统计、WiFi客流统计、红外线客流统计等方式。由于展会通常的时间都比较短,视频、红外线客流统计采购及安装价格都比较高,需

isentech的博客 3995

手把手教你用Matlab为PMSM电流环设计2P2Z补偿器(附与PI对比)

本文详细介绍了如何使用Matlab的controlSystemDesigner工具为永磁同步电机(PMSM)电流环设计2P2Z补偿器,并与传统PI控制器进行性能对比。通过频域分析和时域仿真,展示了2P2Z补偿器在提升带宽、减少超调等方面的优势,为高性能伺服驱动和精密运动控制提供了实用解决方案。

weixin_42551227的博客 379

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

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

疯一样的女子 2268

基于stm32f407VGT6控制WS2812的TIM1+PWM+DMA实现方式

项目中使用到了ws2812灯带,作为产品的外观显示灯,经过开发之后,整理一下,仅供大家参考。 WS2812B是一个集控制电路与发光电路于一体的智能外控LED光源。 其外型与一个5050 LED灯珠相同, 每个元件即为一个像素点。 像素点内部包含了智能数字接口数据锁存信号整形放大驱动电路, 还包含有高精度的内部振荡器和可编程定电流控制部分, 有效保证了像素点光的颜色高度一致。数据协议采用单线归零码的通讯方式, 像素点在上电复位以后, DIN端接受从控制器传输过来的数据, 首先送过来的24bit数据被第一个像素

weixin_43608153的博客 9214

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

invalid signature 问题排查及解决办法

a_靖的博客 6万+

STM32智能小车控制舵机转向

文章目录前言一、舵机简单介绍及接线方式二、cubeMX配置三、代码解析总结 前言 本文将带大家学习如何驱动舵机转向 一、舵机简单介绍及接线方式 信号线(黄线)红线(电源线)棕色(地线) 舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms-2.5ms范围内的角度控制脉冲部分,总间隔为2ms。以180度角度伺服为例,那么对应的控制关系是这样的: 0.5ms--------------0度; 1.0ms------------45度; 1.5ms------------90度; 2

m0_49476241的博客 8614

Unity 热更 之 【HybirdCLR】+【YooAsset】 [安卓 Android端] [代码 + 资源热更] 功能的 简单实现演示

Unity热更有很多方案,各种lua热更,ILRuntime等,这里介绍的是YooAsset+HybridCLR的热更方案,HybridCLR负责更新c#代码,YooAsset负责更新资源。HybridCLR是一种创新的解决方案,专为 Unity 游戏开发中的热更新需求设计。它通过结合解释执行和 Ahead-of-Time (AOT) 编译技术,为跨平台的游戏开发提供了一种高效的热更新机制。原生C#热更新体验,开发工作流与传统Unity C#开发几乎相同,零学习和使用成本。

仙魁XAN 3866

微信 js-sdk config:invalid signature

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

zwkkkk1的博客 1876

投稿前利用GPT-5.5给论文做一次深度校对,投稿命中率翻倍!

3)一致性:请对比摘要的结论与正文(如果我也提供了正文),确保完全一致。请严格检查结果部分,确保客观性:1)纯粹性检查:标出所有包含“为什么”(解释)或“这意味着什么”(暗示)的主观语句,这些应移至讨论部分。请你帮我评估讨论部分的深度:1)解释与对比:检查每一项主要结果是否都解释了原因,并引用了前人研究进行对比(一致或相悖)。我见过太多人把校对理解为检查错别字了,实际上,校对要看的远不止这个,像逻辑是否连贯、术语是否前后一致、图表有没有被正确引用等等的这些细节,往往决定了文章是秒被拒,还是能顺利进入外审。

智能AI让学术科研更容易 412

微信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

AUTOSAR从入门到精通-【应用实战篇】车载HMI-ADAS

ADAS是高级驾驶辅助系统(Advanced Driving Assistance System)简称ADAS。ADAS高级驾驶辅助系统是利用安装于车上的各式各样的传感器, 在第一时间收集车内外的环境数据, 进行静、动态物体的辨识、侦测与追踪等技术上的处理, 从而能够让驾驶者在最快的时间察觉可能发生的危险, 以引起注意和提高安全性的主动安全技术。

lin_xiu的博客 1435

独创改进 | RT-DETR 引入 Asymptotic Hybrid Encoder | 渐进混合特征解码结构

独创改进🚀! | RT-DETR 引入 Asymptotic Hybrid Encoder | 渐进混合特征解码结构

Coding... 2212

微信jssdk config:invalid signature 签名错误

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

云上人间钦自赏 6829

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

公众号分享invalid signature

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

小马总的博客 2535

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

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

Statistics and Machine Learning Toolbox

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

微信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...

林恒的博客 4182

微信分享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、付费专栏及课程。

余额充值