微信公众平台测试号注册及基本配置中服务器配置

测试号申请成功在取及配置中配置进行服务器配置就可以配置成功

进入测试号申请界面

  1. 进入开发者文档界面
    在这里插入图片描述

  2. 进入申请测试号界面
    在这里插入图片描述

  3. 申请测试号(请先阅读第五条)
    3.1. 请输入外网可访问的地址
    3.2. 请输入自定义的Token

  4. 微信公众平台会根据用户提供的url和token进行验证,验证时会首先调用【开发人员】本地的验证逻辑,代码如下

		<!-- BEGIN微信公众平台所需要用到的包 -->
      <dependency>
          <groupId>com.alibaba.fastjson2</groupId>
          <artifactId>fastjson2</artifactId>
          <version>2.0.13</version>
      </dependency>

      <!-- https://mvnrepository.com/artifact/commons-codec/commons-codec -->
      <dependency>
          <groupId>commons-codec</groupId>
          <artifactId>commons-codec</artifactId>
          <version>1.13</version>
      </dependency>
      <!-- END微信公众平台所需要用到的包 -->

/**
 * @program: official-account
 * @description: CheckUtil工具类
 * @author: xmonster_大魔王
 * @create: 2022-09-13 22:06
 **/

import org.apache.commons.codec.digest.DigestUtils;
import org.springframework.stereotype.Component;

import java.util.Arrays;

/**
 * 校验的工具类   微信使用
 */
@Component
public class CheckUtil {

    private static final String token = "*****"; //这个token值要和服务器配置一致

    public static boolean checkSignature(String signature, String timestamp, String nonce) {

        String[] arr = new String[]{token, timestamp, nonce};
        // 排序
        Arrays.sort(arr);
        // 生成字符串
        StringBuilder content = new StringBuilder();
        for (int i = 0; i < arr.length; i++) {
            content.append(arr[i]);
        }

        // sha1加密
        String temp = getSHA1String(content.toString());

        return temp.equals(signature); // 与微信传递过来的签名进行比较
    }

    private static String getSHA1String(String data) {
        // 使用commons codec生成sha1字符串
        return DigestUtils.shaHex(data);
    }
}

import com.zehao.wechat.util.CheckUtil;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @Description
 * @Author zxl
 * @Date 2023/2/3 8:50
 **/
@RestController
@RequestMapping("token")
public class ToeknControler {

    /**
      * @Description: 微信用户token认证
      * @param
      * @return
      * @version v1.0
      * @author zxl
      * @date
      */
    @GetMapping("/getWechatToken")
    public String getWechatToken(HttpServletRequest request, HttpServletResponse response,
                                 @RequestParam("signature") String signature,
                                 @RequestParam("timestamp") String timestamp,
                                 @RequestParam("nonce") String nonce ,
                                 @RequestParam("echostr") String echostr ){
        System.out.println("进来了请求");
        boolean b = CheckUtil.checkSignature(signature, timestamp, nonce);

        return echostr;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值