首页 > 其他分享 >微信js-sdk接入

微信js-sdk接入

时间:2023-11-09 13:34:39浏览次数:52  
标签:微信 jsapi js access token 签名 ticket sdk

1、有一个微信公众号,并获取到该公众号的AppID和AppSecret。

  • 其中AppID是可以对外公开的,AppSecret是该公众号的密钥,是需要绝对保密的

2、向微信服务器发送一个GET请求,获取access_token和expires_in(凭证有效时间,单位:秒)。

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=AppID&secret=AppSecret
  • 这个请求应该由自己的服务器发起,避免AppSecret的泄露

3、向微信服务器发送一个GET请求,获取jsapi_ticket和expires_in(凭证有效时间,单位:秒)

https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=access_token&type=jsapi
  • 这个请求应该由自己的服务器发起,避免access_token的泄露

4、把时间戳、随机数、jsapi_ticket和要访问的url按照签名算法拼接字符串和进行sha1加密获取签名,然后使用 appid、时间戳、随机数、签名 在前端进行注册

  • 获取签名的过程在后端进行,避免 jsapi_ticket 的泄露
  • 微信通过相同的算法获取签名,然后和前端传入签名进行比较,来判断是否合法身份。

标签:微信,jsapi,js,access,token,签名,ticket,sdk
From: https://www.cnblogs.com/qq3279338858/p/17819518.html

相关文章

  • js:遍历数组
    1.循环类型forEach()forEach();语法forEach(callbackFn)forEach(callbackFn,thisArg)例子/****@param{any}element数组中正在处理的当前元素*@param{number}index数组中正在处理的当前元素的索引。*@param{Array}array1调用了forEach()的数组本身*/co......
  • jS 数据类型检测
    基本数据类型Undefined、Null、Boolean、Number、String、Symbol(ES6新增)和BigInt(ES10新增);typeoftypeofstr通常检测数据的基本类型,但对引用类型数据判断的话,除function会被识别出来之外,像null、{}、数组都输出为object。typeofnull//'object'typeofundefined//'undefi......
  • 微信小程序hideLoading隐藏showToast提示的问题
     在调用hideLoading与hideToast时配置参数noConflict:true取消混用特性,解决hideLoading隐藏showToast提示的问题。wx.hideLoading({noConflict:true})//也适用于TaroTaro.hideLoading({noConflict:true}) ......
  • JS基础语法
    JavaScipt运行在浏览器的编程语言书写位置内部<body><script>alert('你好')</script></body>外部<body><scriptsrc="my.js"></script></body>创建js文件,与img标签相似行内输入输出语法输出//ale......
  • Java Fastjson反序列化漏洞研究
    一、Fastjson简介Fastjson是阿里巴巴的一个开源项目,在GitHub上开源,使用Apache2.0协议。它是一个支持JavaObject和JSON字符串互相转换的Java库。Fastjson最大的特点在于它的快速,它超越了JackJson、Gson等库。据官方发布的说明,Fastjson从2011年fastjson发布1.1.x版本之后,其性能......
  • 如何防止微信PC端自动更新
    1.找到电脑上的hosts文件C:\Windows\System32\drivers\etc 2.修改hosts文件权限,改成能修改   3.在hosts文件中添加127.0.0.1dldir1.qq.com   ......
  • pytest + yaml 框架 -58.运行报告总结summary.json
    前言用例运行结束后,在本地生成summary.json文件,总结运行结果。v1.5.1版本更新内容:1.解决参数化,中文在控制台输出问题2.保存用例结果summary.json保存用例结果summary.json命令行执行用例pytest运行结束,在当前目录生成summary.json文件,内容如下{"base_url":"http......
  • python json.loads()字符串转json
    python json.loads()字符串转jsonimportjsonimportrequestsres='''{"code":200,"message":"success","duration":147,"result":{"angle":0,"height":368,"tables":[],&qu......
  • 微信小程序checkbox的bindchange不生效的问题
    1、用了ChatGPT和文心一言,都是让我用bindchange来绑定事件。<checkbox bindchange="checkboxChange" value="false">1231312</checkbox> 但是实际我绑定了,并没有效果checkboxChange:function(e){constcheckboxValue=e.detail.value;//获取当前checkbo......
  • 如何解决LocalDateTime传值JSON格式化问题
    LocalDateTime传值JSON格式化问题推荐方法其它方法LocalDateTime的json格式化问题解决方式一解决方式二LocalDateTime传值JSON格式化问题LocalDateTime是JDK8中提供的新功能,极大的优化了原生日期时间类的使用。但是第一次使用该类可能会在传值过程中出现格式化的小问题(如:JSON无法解......