企业微信 vue ios 出现 63002,INVALID SIGNATURE问题

2023-11-11

下面是官网的说法,可以先按下面的方法进行排查排查(概述 | 微信开放文档)
    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。
    6.确保你获取用来签名的url是动态获取的,动态页面可参见实例代码中php的实现方式。如果是html的静态页面在前端通过ajax将url传到后台签名,前端需要用js获取当前页面除去'#'hash部分的链接(可用location.href.split('#')[0]获取,而且需要encodeURIComponent),因为页面一旦分享,微信客户端会在你的链接末尾加入其它参数,如果不是动态获取当前链接,将导致分享后的页面签名失败。

我是经过以上排查了在有些情况下还是会报 63002,INVALID SIGNATURE.

原因是因为前端传给后台接口进行签名的url包含了 "&" 等特殊字符,后台为了防XSS攻击,所以对所有这类特殊字符进行了编码,如 &会转成&   ,从而导致用来签名的url出错报INVALID SIGNATURE.

解决:在调用微信接口签名时把 & 等呗编码的特殊字符变回&   就好

java处理方式:StringEscapeUtils.unescapeHtml(url); StringEscapeUtils是common-lang.jar的工具类

注意:当第一次打开企业微信网页时会跳转授权页面 https://open.weixin.qq.com/connect/oauth2/authorize 获取code,之后重定向回到当前页面时url会带上 &state=STATE ,此时就会触发上面的问题。而如果关掉企业微信重启,因为一般此时openid及用户信息已经放到cookie里面,所以不再需要跳转到授权页面获取code也就不会包含 &state=State,此时就不会触发上面问题.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

企业微信 vue ios 出现 63002,INVALID SIGNATURE问题 的相关文章

  • 根据哈希值确认文件内容

    我需要 检查完整性 content文件数量 文件将写入 CD DVD 可能会被复制多次 这个想法是识别正确复制的副本 在从 Nero 等中删除它们之后 我对此很陌生 但快速搜索表明Arrays hashCode byte http down
  • ASM之前看一下maxStack指令吗?

    我正在尝试使用 ASM 库将字节代码转换为不同的格式 这可以使用 MethodVisitor 来完成 就像这个简单的测试代码一样 return new MethodVisitor ASM7 Override public void visi
  • 确定代码是否在 App Engine 运行时 (Java) 上运行

    如何确定某些代码 Serv let 或简单的类 是否正在 Google App Engine 运行时 Java 上运行 以便决定是否使用 App Engine 的特定库 是否有一些可靠的运行时环境 ID 您可以检查com google ap
  • 从 HealthKit 获取昨天的步数

    我正在构建一个供个人使用的应用程序 目前我正致力于如何从 healthkit 中准确获取昨天的步数 然后从那里将其放入变量中 我知道应该很容易 我有一个 HealthKitManager 类 它从视图内部调用该函数 然后将其附加到同一视图中
  • 某些网站如何在 iOS Safari 中内嵌播放视频?

    非常令人难以置信 因为我认为所有视频都可以在常规野生动物园中扩展为全屏播放 例如检查一下 https entertainment theonion com the onion reviews rogue one 1819596116 htt
  • Java中的OR运算(BitSet.class)

    如何编写一个程序 该程序需要001010101110000100100 011100010001000011000 000000000010000000000100 作为输入 位 输出将是OR其中 3 个 OR 0 0 0 0 1 1 1
  • 使用 include 进行 JAXB 剧集编译不起作用

    我有 2 个模式 A B 我在 B 中重用了一些 A 元素 我不使用命名空间 我在用着
  • Akka 和 spring 配置

    我正在尝试将 akka 与 spring 结合起来 但没有成功 基本上 我的应用程序似乎不习惯读取 akka 模式 具有架构的 service context xml 的一部分
  • java 1.8下无法启动eclipse

    java 1 8 升级后我无法启动 eclipse 附上错误截图 这是我的 eclipse 配置设置 我该如何解决 startup plugins org eclipse equinox launcher 1 3 0 v20120522 1
  • 我可以关闭并重新打开套接字吗?

    我学习了一个使用套接字的例子 在此示例中 客户端向服务器发送请求以打开套接字 然后服务器 侦听特定端口 打开套接字 一切都很好 套接字从双方 客户端和服务器 打开 但我仍然不清楚这个东西有多灵活 例如 客户端是否可以关闭一个打开的 从两端
  • Java .split("|") 不工作

    我刚刚遇到了一个问题分割法 http docs oracle com javase 6 docs api java lang String html split 28java lang String 29for 字符串不适用于字符 作为一个
  • 立即调用 Swift UIView animateWithDuration 完成闭包

    我期望在指定的持续时间后调用此 UIView 动画的完成闭包 但它似乎立即触发 UIView animateWithDuration Double 0 2 animations self frame CGRectMake 0 self bo
  • 如何以编程方式伪造 UIButton 的触摸事件?

    我正在编写一些单元测试 并且由于这个特定应用程序的性质 重要的是我要达到尽可能高的水平UI链尽可能 因此 我想做的是以编程方式触发按钮按下 就好像用户按下了按钮一样GUI 是的 是的 我could只需致电IBAction选择器 但同样 这个
  • Drools:为什么是无状态会话?

    Drools 使用会话来存储运行时数据 为此 有两种会话 无状态和有状态 与无状态会话相比 有状态会话允许迭代调用 并且似乎比无状态会话具有所有优势 那么为什么会有无状态会话呢 他们服务的目的是什么 与有状态会话相比 它们的优势是什么 谢谢
  • 无法在 Swift 的 Storyboard 中加载 UIViewController XIB 文件

    我读了使用 XCode 故事板实例化使用 XIB 进行设计的视图控制器 https stackoverflow com questions 9155719 using xcode storyboard to instantiate view
  • 如何将 PhoneGap 调试控制台与 CLI 集成?

    PhoneGap 网站上的此页面http docs phonegap com en 3 3 0 guide cli index md html The 20Command Line 20Interface http docs phonega
  • WebCore::UserGestureIndicator::processingUserGesture 中的 EXC_BAD_ACCESS (SIGSEGV)

    我有一个使用 UIWebView 和 HTML5 websockets 构建的 iOS 应用程序 该应用程序经历了看似随机的崩溃 它发生在用户与其交互时以及在用户和应用程序之间没有发生交互的寿命测试期间 崩溃日志都有以下内容 Excepti
  • 如何隐藏或删除 Android HoneyComb 中的状态栏?

    如何隐藏或删除 Android HoneyComb 中的状态栏 每次运行应用程序时 我都会发现某些内容必须被状态栏覆盖 我尝试改变AndroidManifest xml 但没有任何改变 你不知道 它被认为是永久的屏幕装饰 就像电容式主页 菜
  • 将带有时区的 Joda-Time `DateTime` 转换为没有时区的 DateTime?

    Given a DateTime http www joda org joda time apidocs org joda time DateTime html例如2015 07 09T05 10 00 02 00 using 乔达时间 h
  • 线程“main”中出现异常 java.lang.UnsatisfiedLinkError: ... \jzmq.dll: 找不到依赖库

    我有一个使用 ZMQ 的 java 应用程序 我已经能够在我的 Win7 PC 上运行它 我将 jzmq dll 放在 jar 可执行文件所在的同一文件夹中 然后通过命令 java jar myapp jar 运行它 我的下一步是将其移至服

随机推荐

  • python弹球游戏彩蛋

    在上一期 我们已经实现了基本弹球的功能 先总结一下上期的代码 import pygame pygame init width 800 height 600 screen pygame display set mode width heigh
  • OpenGL ES2.0粒子系统(附有源码)

    http blog csdn net cxy200927099 article details 38584487 刚学OpenGL 2个多星期 也算是入门了吧 在看了老外写的书 OpenGL ES 2 for Android A Quick
  • 雅特力at421f串口2串口1互发透传

    void USART1 IRQHandler void static u8 k USART ClearFlag USART1 USART FLAG TC 清除USARTx的待处理标志位 if USART GetITStatus USART1
  • 目标检测:SSD算法原理综述

    SSD Single Shot Detection 是一个流行且强大的目标检测网络 网络结构包含了基础网络 Base Network 辅助卷积层 Auxiliary Convolutions 和预测卷积层 Predicton Convolu
  • NAT穿越原理——STUN

    STUN是RFC3489规定的一种NAT穿透方式 它采用辅助的方法探测NAT的IP和端口 毫无疑问的 它对穿越早期的NAT起了巨大的作用 并且还将继续在ANT穿透中占有一席之地 STUN的探测过程需要有一个公网IP的STUN server
  • Vscode中C++/c按F5调试不了,但是可以右键run code运行的问题

    V s c o d e 里 配
  • 想知道你的Mac是否支持macOS Monterey吗?

    Apple年度WWDC大会已经结束 在WWDC2021上宣布了新系统 macOS Monterey 它为Safari和Mail等应用带来了重大更新 你的Mac是否支持新系统呢 一起跟小编看看吧 https www macv com mac
  • Spark使用场景有哪些?大数据spark教程

    Spark 是一种与 Hadoop 相似的开源集群计算环境 是专为大规模数据处理而设计的快速通用的计算引擎 现已形成一个高速发展应用广泛的生态系统 主要应用场景如下 1 Spark是基于内存的迭代计算框架 适用于需要多次操作特定数据集的应用
  • typora笔记中图片路径批量修改成相对路径

    所有演示均在typora环境下 其他markdown软件不清楚是否都能用 使用之前建议备份一遍 防止出现问题 前置操作 打开typora 进入文件 gt 偏好设置 gt 图像 按照下面的图片勾选被填写图片相对路径 方便以后使用 相对路径 p
  • 【满分】【华为OD机试真题2023 JAVA&JS】分界线

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 分界线 时间限制 1s 空间限制 32MB 限定语言 不限 题目描述 电视剧 分界线 里面有一个片段 男主为了向警察透露案件细节 且不暴露自己 于是将报刊上的字剪切下来 剪拼成匿
  • [安洵杯 2019]easy_serialize_php

    安洵杯 2019 easy serialize php 本题考点 反序列化的字符串逃逸 变少 extract 变量覆盖 思考过程 首先代码审计可以看到几个关键点 function filter img filter arr array ph
  • 项目1-PM2.5预测

    文章目录 项目1 PM2 5预测 友情提示 项目描述 数据集介绍 项目要求 数据准备 环境配置 安装 预处理 提取特征 1 提取特征 2 归一化 将训练数据分割成 训练集 和 验证集 训练 测试 预测 保存预测到CSV文件 项目1 PM2
  • Gradle 的编译周期

    Project build gradle 多个Task 多个action 一个代码块 在编译过程中 Gradle 会根据 build 相关文件 聚合所有的project和task 执行task 中的 action 依赖逻辑 几乎所有的Tas
  • 2018网易前端实习笔试题

    前端时间做了网易前端实习的笔试题 偶像想起 总结一下 前面的选择题 我就不一一细说了 主要考察的是对于前端的基础 以及计算机基础 这次主要讲下算法题 所有算法我均用js所写 不同语言思路均相同 以下都是我对题目的简述 1 小易学了集合 已知
  • CTF show WEB7-8

    题目网站https ctf show web7 点开其中一篇文章 输入id 1 1存在全部文章内容 说明为整形注入 1 爆库名 web7 当输入为id 1 or ascii substr database 1 1 119时出现文章内容 证明
  • 如何制作 linux 系统 U盘启动盘

    原贴 如何制作 linux 系统 U盘启动盘 Will kkc的博客 CSDN博客 linux系统启动盘 1 制作linux 系统的U盘启动盘 需要选择ISO 模式 给大家推荐几个制作相关软件以及相关制作过程 UltraISO rufus
  • Nginx将日志输送到Rsyslog服务

    直接使用Nginx记录日志 在多台服务器的情况下日志会过于分散不容易管理 不过nginx在1 7 1版本以后 可以使用Rsyslog来记录日志 配置过程如下 一 Nginx配置文件 该配置也可以实现将nginx日志通过rsyslog服务输送
  • PHP中的正规表达式

    PHP继承 NIX的一贯传统 完全支持正规表达式的处理 正规表达式提供了一种高级的 但不直观的字符串匹配和处理的方法 用过PERL的正规表达式的朋友都知道 正规表达式的功能非常强大 但学起来不是那么容易 比如 这段有效却难以理解的代码足够使
  • 大数据毕业设计 校园学生一卡通数据分析与可视化 - python

    文章目录 0 项目简介 任务 1数据导入与预处理 任务 1 1 探查数据质量并进行缺失值和异常值处理 1 1 2检查重复值 1 1 3数据内容总览 1 1 4数据分布总览 1 1 5消费金额和消费次数观察消费金额和消费次数的散点图 1 1
  • 企业微信 vue ios 出现 63002,INVALID SIGNATURE问题

    下面是官网的说法 可以先按下面的方法进行排查排查 概述 微信开放文档 1 确认签名算法正确 可用http mp weixin qq com debug cgi bin sandbox t jsapisign 页面工具进行校验 2 确认con