企業號每個應用有普通模式和回調模式兩種,普通模式直接打開網頁,回調模式可設置應用底部菜單項、可增加交互開發、可把客戶端的操作事件傳給企業服務器,企業服務器做響應開發。
開通回調模式,首先需要通過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;
}
}
}