欢迎光临
我们一直在努力

微信公众号-服务器配置(token验证)

专栏简介

💒个人主页

📄本栏目录

📖心灵鸡汤📖

岁月是个小偷,当你发现时,却早已偷走了一切。

1.修改服务器配置

微信公众号-服务器配置(token验证)

2.进行如下设置微信公众号-服务器配置(token验证)

提交后,提示token验证失败原因是需要服务器验证上面设置的token。官网给出了php的验证案例,很明显不是我们想要的,下面给出了java版的

代码实现:(仅供参考,但以下代码可用

创建Conttroller

import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Arrays; /** * @description: * @author: lvyq * @date: 2022/7/8 15:16 * @version 1.0 */ @RequestMapping @Controller @CrossOrigin public class IndexController { public static final string Token="123456"; //微信公众平台中设置的token @RequestMapping("/") public void index(HttpServletResponse response, HttpServletRequest request) throws Exception{ String method=request.getMethod(); //签名验证是get请求 if ("GET".equals(method)){ // 微信加密签名 String signature = request.getParameter("signature"); // 随机字符串 String echostr = request.getParameter("echostr"); // 时间戳 String timestamp = request.getParameter("timestamp"); // 随机数 String nonce = request.getParameter("nonce"); String[] str = { Token, timestamp, nonce }; // 字典排序 Arrays.sort(str); String bigStr = str[0] + str[1] + str[2]; // SHA1加密 String digest = sha1(bigStr); // 确认请求来至微信 if (digest.equals(signature)) { response.getWriter().print(echostr); } } } /** * @description: sha1 * @author: lvyq * @date: 2022/7/8 15:18 * @version 1.0 */ public static String sha1(String data) throws NoSuchAlgorithmException { MessageDigest md = MessageDigest.getInstance("SHA1"); //把字符串转为字节数组 byte[] b = data.getBytes(); //使用指定的字节来更新我们的摘要 md.update(b); //获取密文 (完成摘要计算) byte[] b2 = md.digest(); //获取计算的长度 int len = b2.length; //16进制字符串 String str = "0123456789abcdef"; //把字符串转为字符串数组 char[] ch = str.toCharArray(); //创建一个40位长度的字节数组 char[] chs = new char[len*2]; //循环20次 for(int i=0,k=0;i<len;i++) { //获取摘要计算后的字节数组中的每个字节 byte b3 = b2[i]; // >>>:无符号右移 // &:按位与 //0xf:0-15的数字 chs[k++] = ch[b3 >>> 4 & 0xf]; chs[k++] = ch[b3 & 0xf]; } //字符数组转为字符串 return new String(chs); } } 

重启服务,然后点击确定,验证通过

微信公众号-服务器配置(token验证)

最后点击【启用

微信公众号-服务器配置(token验证)

至此,服务器配置成功!!!

作用:菜单修改自定义消息回复等(点击可前往查看相关实现

注:启用成功后,将无法设置菜单,需要通过API设置菜单

  • 海报
海报图正在生成中...
赞(0) 打赏
声明:
1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。
2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。
3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。
4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。
文章名称:《微信公众号-服务器配置(token验证)》
文章链接:https://www.456zj.com/39649.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址