在做微信分享到朋友圈时,手机扫码报config:invalid signature,分享后后正常的问题,是url问题…

在做微信分享到朋友圈时,手机扫码报config:invalid signature,分享后后正常的问题,是url问题…

是按照以下步骤检查的 除了ACCESS_TOKEN没有缓存其他都可以

如果是invalid signature签名错误。建议按如下顺序检查:

1.确认签名算法正确,可用 http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign 页面工具进行校验。

2.确认config中nonceStr(js中驼峰标准大写S), timestamp与用以签名中的对应noncestr, timestamp一致。

3.确认url是页面完整的url(请在当前页面alert(location.href.split(‘#’)[0])确认),包括’http(s)://’部分,以及’?’后面的GET参数部分,但不包括’#’hash后面的部分。

4.确认 config 中的 appid 与用来获取 jsapi_ticket 的 appid 一致。

5.确保一定缓存access_token和jsapi_ticket。

这个是重点:
确保你获取用来签名的url是动态获取的,动态页面可参见实例代码中php的实现方式。如果是html的静态页面在前端通过ajax将url传到后台签名,前端需要用js获取当前页面除去’#’hash部分的链接(可用location.href.split(‘#’)[0]获取,而且需要encodeURIComponent),因为页面一旦分享,微信客户端会在你的链接末尾加入其它参数,如果不是动态获取当前链接,将导致分享后的页面签名失败。

教如何验证是否正确方法:

亲测可行:
url动态获取的方法是:

$protocol = (!empty($_SERVER[HTTPS]) && $_SERVER[HTTPS] !== off || $_SERVER[SERVER_PORT] == 443) ? “https://” : “http://”;

  $url = $protocol.$_SERVER[HTTP_HOST].$_SERVER[REQUEST_URI];

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113517.html原文链接:https://javaforall.net

(0)
上一篇 2021年10月16日 下午6:00
下一篇 2021年10月16日 下午7:00


相关推荐

  • ostringstream的使用

    ostringstream的使用在std中还有个ostringstream这么方便的格式化输出的工具 std::stringgenerate(){ostringstreamosm;osm<<"xxxx"<<1111;returnosm.str();}

    2022年6月18日
    30
  • react 路由权限守卫[通俗易懂]

    react 路由权限守卫[通俗易懂]app.js//路由import{HashRouterasRouter,Route,NavLink,Redirect,Switch,useHistory}from’react-router-dom’//导入哈希路由(BrowserRouter浏览器路由)起别名叫Router//Route路由页面,NavLink路由导航页面importReact,{Component}from’react’;import”./App.css”;classApp.

    2022年5月5日
    267
  • Manus,启动!

    Manus,启动!

    2026年3月15日
    2
  • 如何关闭或启动mysql服务器_MySQL运行

    如何关闭或启动mysql服务器_MySQL运行方法一:通过命令行开启\关闭服务第一步点击开始菜单,找到cmd,以管理员身份运行。第二步在命令行里面输入“netstopmysql”,按回车键,就停止了mysql服务,如下图所示:第三步在命令行输入“netstartmysql”,接着按回车键,开启mysql服务,如下图所示:END方法二:通过电脑服务开启/关闭第一步最开始右键计算机,选择“管理”,如下图所示:第二步进去管理之后,选择服务和…

    2025年7月25日
    9
  • java 逻辑或 作用_java逻辑运算符有哪些?逻辑运算符有什么作用?

    java 逻辑或 作用_java逻辑运算符有哪些?逻辑运算符有什么作用?学习 java 程序 是需要大家有一些逻辑思维的 但是除了有逻辑思维之外 还要学会使用逻辑运算符 那么接下来 我们就来给大家讲解一下 java 逻辑运算符的使用方法 与或非 amp amp amp amp amp 双与 两边都是 true 结果才为 true amp 与 两个同时为 true 结果为 true 双或 有一个是 true 结果就是 true 或 两个

    2026年3月19日
    1
  • PageRank算法–从原理到实现

    PageRank算法–从原理到实现PageRank 算法标签 PageRankMark 本文将介绍 PageRank 算法的相关内容 具体如下 PageRank 算法算法来源算法原理算法证明 PR 值计算方法 1 幂迭代法 2 特征值法 3 代数法算法实现 1 基于迭代法的简单实现 2MapReduce 实现 PageRank 算法的缺点写在最后参考资料 1 算法来源这个要从搜索引擎的发展讲起 最早的搜

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号