`
a729812804
  • 浏览: 42184 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

微信 请求校验(确认请求来自微信服务器)

 
阅读更多

/**

* 请求校验(确认请求来自微信服务器)

*/

public void wxOauth() throws Exception {

 

// String signature = (String) getRequest().getAttribute("signature");

if (signature == null || signature.equals("")) {

logger.error("微信验证 缺少参数  signature============" + signature);

}

// String timestamp = (String)

// getRequest().getAttribute("timestamp");

if (timestamp == null || timestamp.equals("")) {

logger.error("微信验证 缺少参数  timestamp============" + timestamp);

}

// String nonce = (String) getRequest().getAttribute("nonce");

if (nonce == null || nonce.equals("")) {

logger.error("微信验证 缺少参数  nonce============" + nonce);

}

// String echostr = (String) getRequest().getAttribute("echostr");

if (echostr == null || echostr.equals("")) {

logger.error("微信验证 缺少参数  echostr============" + echostr);

}

String token = ConfigUtil.WXTOKEN;

logger.error("微信验证token.....");

 

String[] str = { token, timestamp, nonce };

logger.error("微信验证token  str============" + str);

Arrays.sort(str); // 字典序排序

String bigStr = str[0] + str[1] + str[2];

logger.error("微信验证token  bigStr============" + bigStr);

// SHA1加密

String digest = new SHA1().getDigestOfString(bigStr.getBytes()).toLowerCase();

 

// 确认请求来至微信

if (digest.equals(signature)) {

logger.error("微信验证token  token============" + token);

super.write(echostr);

//wxMessageReceive(echostr);

logger.error("微信验证token  成功============" + token);

}

}

 

分享到:
评论

相关推荐

    微信企业号 开发平台token验证

    3. **校验请求**:你的服务器收到请求后,需要按照一定的算法(通常是将Token、Nonce和Timestamp按特定顺序拼接,然后进行SHA1哈希运算)生成一个Signature。然后将这个Signature与请求中带的Signature进行对比。 4...

    微信小程序https服务nginx配置示例.pdf

    在微信小程序中,通常将nginx作为服务器后端,负责接收客户端请求,并将请求转发给相应的服务端应用。 3. https服务配置:配置https服务涉及到nginx监听443端口、加载SSL证书和私钥文件。SSL证书和私钥文件通常保存...

    java实现企业微信回调配置案例

    回调配置主要是通过设置`Webhook`来实现,当企业微信服务器接收到特定事件时,会向我们设定的回调URL发送POST请求。 2. **注册回调URL** 首先,你需要在企业微信的企业管理后台注册一个回调URL,用于接收企业微信...

    微信支付开发签名校验工具

    开发者在发送支付请求时,需要计算出正确的签名并附在请求中,微信服务器接收到请求后会进行签名校验,只有签名正确才会继续处理请求。 在描述中提到的“适合自己做微信支付开发用到”,这意味着这款工具是为个人或...

    微信企业号OAuth2验证接口实例(使用SpringMVC)

    企业应用中的URL链接(包括自定义... b.session中不包含用户信息,则需要构造带回调参数的URL去微信API服务器获取code参数,然后通过code参数调用API换取Userid并保存到session,然后再次跳转到初始请求的视图页面。

    springboot实现web端微信扫码登录项目(基于微信开放平台)

    4. **微信SDK(Software Development Kit)**:微信提供了Java版的SDK,用于处理与微信服务器的交互,包括获取扫码登录的code、交换access_token以及获取用户基本信息等操作。 5. **Spring Security**:SpringBoot...

    微信小程序实现订阅消息功能(Node服务器篇) 源码

    通过Node.js搭载服务器来接收微信小程序获取到的code,与前面在客户端模拟服务端是不同,通过前后分离,通过客户端使用wx.login拿到code参数之后向后端发起请求http://127.0.0.1:3000/getOpenId,后端响应请求后并...

    ASP网页调用微信扫码登录方法

    使用`json.asp`文件,通过HTTP请求发送AppID、AppSecret、code和重定向URI到微信服务器,获取access_token和openid。这个过程通常涉及到JSON解析,因为微信服务器返回的数据格式是JSON。 6. **刷新Token**: ...

    微信小程序 解决请求服务器手机预览请求不到数据的方法

    微信开发者工具在本地测试时可能不会严格检查域名一致性,因此在工具中能够正常请求,但在手机预览时,由于微信会对请求的域名进行校验,导致请求失败。 为了解决这个问题,关键步骤是将服务器的HTTPS配置调整为...

    php版微信开发Token验证失败或请求URL超时问题的解决方法

    Token是微信开发平台分配给开发者的一个凭证,用于验证请求是否来自微信服务器。在PHP配置文件中定义的Token需要和微信开发平台后台设置的Token保持一致。配置文件的基本格式为: ```php define("TOKEN", "weixin");...

    微信支付-微信小程序+Java后台代码

    在微信支付中,我们可以创建一个Controller来接收和响应来自微信服务器的请求,如处理支付通知。Spring的`@Autowired`注解可以帮助自动注入需要的服务,简化代码。 5. **统一下单接口**:在支付过程中,Java后台...

    微信登录代码Demo

    开发者接收到code后,使用App_id、App_secret以及code向微信服务器请求access_token和openid。access_token是访问微信接口的令牌,openid是用户的唯一标识。 5. **获取access_token和openid**: 使用上述获取到的...

    微信公共平台APInode-weixin-api.zip

    它们都是由下列子项目组合而成, node-weixin-api只是将业务接口统一到一个api里方便调用,而不必一个一个重新安装:node-weixin-config 用于微信配置信息的校验node-weixin-auth 用于与微信服务器握手检验node-...

    java实现微信公众号-回复关键字逻辑

    开发者通过去校验signature对请求进行了验证,如果确认了这次的请求来自微信服务器,则会按照原样返回echostr参数内容,说明接入生效了,成为真正的开发者,否则呢?就是失败了。 具体的校验逻辑则是,将token,...

    微信支付框架源码

    这些接口通过HTTP请求与微信服务器进行通信,开发者需要按照微信支付的API文档正确调用这些接口。 3. **签名算法**:为了保证交易的安全性,微信支付采用了安全的签名算法,如HMAC-SHA256。开发者需要在请求和响应...

    iOS_ 微信支付demo

    5. **处理支付结果**:支付完成后,微信会通过`notify_url`回调通知商户服务器,开发者需要在服务器端校验通知的合法性,并处理订单状态。 三、注意事项 1. **安全**:确保所有敏感信息如`appID`、`partnerID`、...

    微信小程序前端解密获取手机号

    2. 验证签名:在与微信服务器通信时,应校验返回数据的签名,防止中间人攻击。 3. 使用HTTPS:所有与服务器的通信应使用HTTPS协议,确保数据传输过程中的安全性。 4. 用户隐私保护:在获取手机号后,应遵循相关...

    微信支付包(unity可接入)

    - **交易确认**:服务器接收到支付结果后,会再次向微信服务器校验订单状态,确保交易真实无误。 4. **安全与验证**: - **签名机制**:在微信支付过程中,所有请求和响应都需要进行签名,以防止数据被篡改。...

    微信支付官方demo及接口

    - 处理支付结果,接收微信服务器的异步通知。 - 对接回调函数,进行支付状态的校验和业务逻辑处理。 6. **安全考虑**:在使用微信支付时,必须注意用户数据的安全,避免敏感信息泄露。例如,不应硬编码API密钥,...

    易语言 企业微信 WXBizMsgCrypt 类函数调用例程.VerifyURL, DecryptMsg, EncryptMsg三个接口

    在向微信服务器发送消息时,为了保证数据安全,开发者需要先将待发送的XML消息通过EncryptMsg函数加密,然后将加密后的结果以及必要的参数(如noncestr、timestamp)一并发送。此接口接受的消息参数包括明文消息、...

Global site tag (gtag.js) - Google Analytics