300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Java微信公众号服务号开发(二):接口信息配置

Java微信公众号服务号开发(二):接口信息配置

时间:2019-01-12 02:42:35

相关推荐

Java微信公众号服务号开发(二):接口信息配置

接下来就是配置接口信息。接口信息配置是用来与微信官网接口进行信息交互。

其中的url就是你在代码中需要发送token令牌进行验证。微信会验证你填写的token令牌跟代码是否一致。填写接口配置信息,此信息需要你有自己的服务器资源,填写的URL需要正确响应微信发送的Token验证。

1.签名加密工具类SignUtil

/*** 校验签名* @param signature 签名* @param timestamp 时间戳* @param nonce 随机数* @return 布尔值*/public static boolean checkSignature(String signature,String timestamp,String nonce){String checktext = null;if (null != signature) {//对ToKen,timestamp,nonce 按字典排序String[] paramArr = new String[]{token,timestamp,nonce};Arrays.sort(paramArr);//将排序后的结果拼成一个字符串String content = paramArr[0].concat(paramArr[1]).concat(paramArr[2]);try {MessageDigest md = MessageDigest.getInstance("SHA-1");//对接后的字符串进行sha1加密byte[] digest = md.digest(content.toString().getBytes());checktext = byteToStr(digest);} catch (NoSuchAlgorithmException e){e.printStackTrace();}}//将加密后的字符串与signature进行对比return checktext !=null ? checktext.equals(signature.toUpperCase()) : false;}

2.响应服务器资源WechatIndexController.java

@RestController@RequestMapping("/index")public class WechatIndexController {private static final Logger LOGGER = LoggerFactory.getLogger(WechatIndexController.class);@Autowiredprivate MessageService messageService;@RequestMapping(method = RequestMethod.GET)public void get(HttpServletRequest request, HttpServletResponse response) {// 微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。String signature = request.getParameter("signature");// 时间戳String timestamp = request.getParameter("timestamp");// 随机数String nonce = request.getParameter("nonce");// 随机字符串String echostr = request.getParameter("echostr");PrintWriter out = null;try {out = response.getWriter();// 通过检验signature对请求进行校验,若校验成功则原样返回echostr,否则接入失败if (SignUtil.checkSignature(signature, timestamp, nonce)) {out.print(echostr);}} catch (IOException e) {e.printStackTrace();LOGGER.error(e.getMessage());} finally {out.close();out = null;}}}

我用的是springboot,并且有自己的云服务器阿里云,所以直接将这个项目打成jar包,放在阿里云中运行。

当然也可以用内网穿透,直接本地运行项目,使用Ngrok或者花生壳就可以。

运行成功之后,正确填写url和token,就会提示配置成功!

以上步骤完成后就可以正式的开发,在代码中完善你的功能!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。