在微信公众号设置开发模式,需要调用后台服务器进行验证的伪代码实现:
微信公众号服务器配置验证实现
/**
* 微信服务器配置验证方法
*
* @param request
* @param response
* @return
*/
private String access(HttpServletRequest request, HttpServletResponse response) {
String signature = request.getParameter("signature");
String timestamp = request.getParameter("timestamp");
String nonce = request.getParameter("nonce");
String echostr = request.getParameter("echostr");
logger.info("微信请求的echostr:{}", echostr);
// 将token、timestamp、nonce三个参数进行字典序排序
List<String> paramList = new ArrayList<String>();
paramList.add(token);
paramList.add(timestamp);
paramList.add(nonce);
SortUtils.arrayListSortByDict(paramList);
logger.info("timestamp、nonce、token三个参数进行字典序排序:{}", JSON.toJSONString(paramList));
// 将三个参数字符串拼接成一个字符串进行sha1加密
String result = "";
for (String str : paramList) {
result += str;
}
String resultPass = DigestUtils.sha1Hex(result);
// 加密后的字符串可与signature对比,标识该请求来源于微信
if (resultPass.equals(signature)) {
logger.info("返回的echostr:{}", echostr);
return echostr;
}
logger.info(String.format("微信请求验证失败!token:[%s],本服务器signature:[%s],微信signature:[%s]", token, resultPass, signature));
return "";
}
public class SortUtils {
/**
* 根据字典排序
*
* @param sortList
*/
public static void arrayListSortByDict(List<String> sortList) {
Collections.sort(sortList, new RealizeComparator());
}
}
分享到:
相关推荐
接入微信公众号是开发的第一步,万事开头难,走好第一步,后面的路就更宽广。 1.公众平台测试帐号的使用 登录微信公众平台,由于很多开发人员并没有认证的的微信公众号,所以比较折中的方式是使用公众平台测试帐号...
微信公众号服务器配置Token验证示例代码,管理后台需要接管用户消息的情况,必须进行服务器配置,设置令牌(Token)和消息加解密密钥。
域名一枚,也需要微信公众号加进去受访信任,服务器一台。 LINUX服务器安装宝塔,添加一个站点,站点内不需要什么页面,宝塔默认的就可以 这个文件不需要设置什么,再上传放入公众号验证的文件验证一下域名归属权...
验证微信公众号的token
这篇文章主要介绍了微信公众号服务器验证Token步骤图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 服务器验证Token验证分为以下及步骤 一,在微信公众号...
第三步:每隔2秒检测是否关注微信公众号 通过微信openid和access_token获取微信用户信息,并存入表当中的信息 若是没有获取到数据,记得开启curl,检查防火墙、启用 微信服务器IP白名单设置 PHP扫码关注公众号更新...
MVC模式的微信公众平台接口开发DEMO,验证。
微信公众号验证token经常失败,是一件很让人抓狂的事。找了很久,终于找相关一个可用的相关代码,希望对你有用。
微信公众号智能绑定功能所有的步骤都是以模拟实现的。 1.模拟打开微信公众帐号登录页面; URL地址:https://mp.weixin.qq.com/ 2.读取自己微信公众帐号的用户名和密码; 此处用户名和密码可以持久化到内存,文件,...
第一步:获取关注二维码ticket,并且传参二维码qrcode表主键id第二步:微信服务端接受数据,并且用户登录信息第三步:每隔2秒检测是否关注微信公众号 通过微信openid和access_token获取微信用户信息,并存入表当中的...
C#版的微信公众号开发SDK Senparc.Weixin.MP几个关键类介绍如下: Entities/Request*.cs 用于接收微信平台自动发送到服务器的实体(发送过来的是XML),包括文本、位置、图片三类 Entities/Response*.cs 用于反馈...
微信公众号开发,微信平台连接个人服务器时用于验证的代码文件;用法:上传部署到服务器即可
实现了基本的服务器验证,网页授权,模版消息发送。运行前请修改相应参数。application.properties 中的ql.wx.appID和ql.wx.appsecret是自己公众号中的参数。com.ql.weChat.model类中的token用于服务器验证,自定义...
2、微信公众号服务端调用方法java源码实现 2.1 在回调模式下验证服务器接口地址 2.2 检验消息的真实性,并且获取解密后的明文. 2.3 将公众平台回复用户的消息加密打包. 2.4 获取AccessToken 2.5 获取网页授权access_...
消息接收接口和上面我们所说的服务器校验接口地址其实是一样的,他们都是我们在公众号后台配置的地址,只是我们消息接收的接口是一个post请求。 还记得上篇文章我们选择的消息加解密的方式是明文模式吗?这样我们就...
1、服务器和微信的链接 2、图文回复消息 3、创建删除菜单 4、获取用户openid信息 5、代码仅供参考,需要在服务号上配置和获取 token,AppID,AppSecret,access_token以及设置网页OAuth2.0鉴权的网页地址。 6、全程...
Flask应用默认运行在http://127.0.0.1:8000/,你需要将这个地址和端口号配置到你的微信公众号后台的服务器配置中。 由于安全原因,直接在生产环境中使用debug=True是不推荐的。你应该在部署时关闭调试模式,并配置...
PHP微信公众号投票活动系统源码,男神女神商家评选,微信独立后台,内附安装使用说明 1、支持关注公众号后报名参加。 2、支持用户自拍上传照片报名,照片可传1-5张。 3、IP限制,可以限制单IP每天投票量,2种投票...