微信公众号开发测试号配置

配置URL验证地址

微信服务器会将请求发送到配置的地址, 地址必须是80端口, 可使用花生壳等工具


验证参数

signature: 微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。
timestamp: 时间戳
nonce: 随机数
echostr: 随机字符串

开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。加密/校验流程如下:

1 将token、timestamp、nonce三个参数进行字典序排序
2 将三个参数字符串拼接成一个字符串进行sha1加密
3 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信


接入配置

protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        String signature = req.getParameter("signature");
        String timestamp = req.getParameter("timestamp");
        String nonce = req.getParameter("nonce");
        String echostr = req.getParameter("echostr");
        
        PrintWriter out = resp.getWriter();
        if(CheckUtil.checkSignature(signature, timestamp, nonce)){
            System.out.println("校验成功");
            out.print(echostr);
        }
    }

sha1加密工具类####

private static final String token = "weixintoken";
    public static boolean checkSignature(String signature, String timestamp, String nonce){
        String[] arr = new String[]{token,timestamp,nonce};
        //排序
        Arrays.sort(arr);
        
        //生成字符串
        StringBuffer content = new StringBuffer();
        for(int i=0;i

因为用的是servlet 在web.xml中添加mapping配置


        weixinServlet
        com.xxxx.xxxx.controller.WeixinServlet


        weixinServlet
        /wechat/portal

配置完之后点击提交提示配置成功就可以了

你可能感兴趣的:(微信公众号开发测试号配置)