企业号每个应用有普通模式和回调模式两种,普通模式直接打开网页,回调模式可设置应用底部菜单项、可增加交互开发、可把客户端的操作事件传给企业服务器,企业服务器做响应开发。
开通回调模式,首先需要通过url的回调验证,那么进入应用后台设置项,设置好url、token、aes加密偏移量,然后,使用如下代码:
public class Auth : IHttpHandler
{
const string sToken = "111"; //应用配置中随机生成的Token
const string sCorpID = "222"; //企业号的CorpID
const string sEncodingAESKey = "333"; //应用配置中随机生成的EncodingAESKey
pub.WXBizMsgCrypt wxcpt = new pub.WXBizMsgCrypt(sToken, sEncodingAESKey, sCorpID);
public void ProcessRequest(HttpContext context)
{
if (HttpContext.Current.Request.HttpMethod.ToUpper() == "GET")
{
UrlAuth();
}
else {
}
}
private void UrlAuth() {
//接收企业号回调信息
string sVerifyMsgSig = pub.DNTRequest.GetQueryString("msg_signature");
string sVerifyTimeStamp = pub.DNTRequest.GetQueryString("timestamp");
string sVerifyNonce = pub.DNTRequest.GetQueryString("nonce");
string sVerifyEchoStr = pub.DNTRequest.GetQueryString("echostr");
sVerifyEchoStr = sVerifyEchoStr.Replace(" ", "+");
int ret = 0;
string sEchoStr = "";
ret = wxcpt.VerifyURL(sVerifyMsgSig, sVerifyTimeStamp, sVerifyNonce, sVerifyEchoStr, ref sEchoStr);
if (ret != 0)
{
return;
}
HttpContext.Current.Response.Write(sEchoStr);
HttpContext.Current.Response.End();
}
public bool IsReusable
{
get
{
return false;
}
}
}