|
微信token验证
GET返回
1.微信公众平台的接入方法,无非4个参数(signature, timestamp, nonce, echostr)加1个Token(两边对应)
2.Token, timestamp, nonce字典排序后,按照字符串“SHA1”加密。得出一串字符串 tmpStr(转化为小写)
3.然后比对 tmpStr 是否等于 signature,如果相等,则表示此次请求是来自于微信。
4.确定请求来自于微信,则已经完成一大步了。剩下一个,将echostr参数传出给微信公众平台的工作了。
我签名验证成功了,微信还是返回token失败,原因是我返回了带有xml格式的字符串,如下:
解决方案:
此处要强调一下,参照PHP的 echo $echoStr , WebFrom 的 Response.Write(echoStr)等。
一次次的调试判断出微信的接受方式,只会以 "application/x-www-form-urlencoded" 来接受,所以我用HttpResponseMessage来指定其输出方式。最后测试成功!
但是,我个人感觉并不是上面一句话是错误的,但是懒的测试了,相应类型设置"text/plain"应该是可以的。
POST返回
最近开发微信小程序中用到了微信支付功能,接口开发用的ASP.NET WEB API;
在支付成功后,接口接受到微信服务器的支付通知结果,处理完数据,接口返回给微信服务数据时出现了问题。
微信服务器识别不到返回的数据,导致重复通知。
最终解决代码如下:
|
上一篇:知识 分享收藏的知乎live下一篇:齐白石全集,pdf
|