微信刷票 微信投票 微信刷投票 刷票新闻 人工刷票 微信刷票软件 常见问题 刷票教程 微信刷票团队 刷票公司

微信企业号设置回调URL和密钥验证的方法教程

2018-10-11 22:22:15

栏目:刷票教程 云顶投票⌈mip.shuapiaotop1.com⌋ 0

做微信企业号的相关应用,必须开启回调模式硬着头皮就着官方的文档一步步的往下做,最终终于实现是回调模式,云顶投票供各位新手借鉴,同时的后续开发,可以共同交流、学习。

微信回调模式的官方文档

开发语言:C#(微信相关功能代码可以从官网下载

首先,必须要明确几个参数,这几个参数在微信企业号中,每次调用都会使用到。

1、msg_signature:签名(已加密,加密方法可从官网下载

2、timestamp:时间戳

3、nonce:随机数

4、echostr:随机字符串(已加密)

注:前面3个参数每次都会自动带上,属于必填项,第4个参数只有在首次校验URL时(意思就是点下图中的“保存”按钮时,可能不准确,先这样理解吧)才会带上。

针对上图的说明:

1、URL:任意网址(推荐使用二级域名)

2、Token:随意字符,可点后面的“随机获取”来随机填入几个字符,也可以自己输入,我就是输入的公司英文名称

3、EncodingAESKey:有一定的格式要求,懒得输的可以点后面的“随机获取”,我就是使用这一项

4、在点击上图的“保存”按钮时,页面会根据图中框内输入的内容,自动生成最终请求的URL地址,同时,会自动附带上本文开始时说的那四个参数,并向该URL地址发起GET请求

5、只有上图的“保存”按钮执行成功后,才会看到如下图所示:

开始上代码

首先,在Web.config中添加几个AppSetting:

1 <add key="WXCorpID" value="从配置页面获取" />
2 <add key="WXCorpToken" value="自行输入" />
3 <add key="WXCorpAESKey" value="自行输入" />

说明:

1、WXCorpID:企业号唯一的ID,可以从设置页面复制过来,如下图所示

2、WXCorpToken:一定要和配置界面的Token框内输入的一致

3、WXCorpAESKey:一定要和配置界面的EncodingAESKey框内输入的一致

其次,配置一个WebAPI的路径:

1 config.Routes.MapHttpRoute(name: "VerifyApi", routeTemplate: "api", defaults: new { controller = "Verify" });

然后,建立一个VerifyController,并添加方法:

1 [HttpGet] 2 public void VerifyURL() 3 { 4 // 本文顶部说的四个参数,最好进行URL解码 5 var signature = HttpUtility.UrlDecode(HttpContext.Current.Request["msg_signature"] ?? string.Empty); 6 var timestamp = HttpUtility.UrlDecode(HttpContext.Current.Request["timestamp"] ?? string.Empty); 7 var nonce = HttpUtility.UrlDecode(HttpContext.Current.Request["nonce"] ?? string.Empty); 8 var echo = HttpUtility.UrlDecode(HttpContext.Current.Request["echostr"] ?? string.Empty); 9 10 // 验证结束后的返回值,一定不要带引号!!! 11 var echoResult = string.Empty; 12 13 // 微信提供的验证对象(参数为AppSetting中的三个值) 14 var crypt = new WXBizMsgCrypt(AppSettings.WX_CORP_TOKEN, AppSettings.WX_CORP_AES_KEY, AppSettings.WX_CORP_ID); 15 16 // 微信提供的验证方法 17 var result = crypt.VerifyURL(signature, timestamp, nonce, echo, ref echoResult); 18 if (result != 0) 19 { 20 return; 21 } 22 23 // 将验证后的返回值写入响应流,这样可以去掉引号!!! 24 HttpContext.Current.Response.Clear(); 25 HttpContext.Current.Response.Write(echoResult); 26 HttpContext.Current.Response.End(); 27 }

接下来就在企业号后台上的操作了,开启回调模式,输入你的URL,随机生成token和EncodingAESKey,点击提交就可以验证通过,注意一定要代码中的和企业号上的token和EncodingAESKey是要一致的。在企业号界面上点“保存”按钮,即可验证,一般来说,就可以通过了。

相关阅读:

查看全部「刷票教程」内容

大家在看: