0
企业号配置企业服务器时出错
微信开发
· hanxiaoep
· 查看 2098 次
· 于 4年前
使用官方提供Demo配置服务器时,postModel.Signature为空,验证失败
public ActionResult Get(PostModel postModel, string echostr)
{
if (CheckSignature.Check(postModel.Signature, postModel.Timestamp, postModel.Nonce, Token))
{
return Content(echostr); //返回随机字符串则表示验证通过
}
else
{
return Content("failed:" + postModel.Signature + "," + MP.CheckSignature.GetSignature(postModel.Timestamp, postModel.Nonce, Token) + "。" +
"如果你在浏览器中看到这句话,说明此地址可以被作为微信公众账号后台的Url,请注意保持Token一致。");
}
}
参考腾讯官方接口,更改为下列代码后可以通过验证:
public ActionResult Get(PostModel postModel, string echostr)
{
Tencent.WXBizMsgCrypt wxcpt = new Tencent.WXBizMsgCrypt(Token, EncodingAESKey, AppId);
if (wxcpt.VerifyURL(postModel.Msg_Signature, postModel.Timestamp, postModel.Nonce, echostr, ref echostr) == 0)
{
return Content(echostr); //返回随机字符串则表示验证通过
}
else
{
return Content("failed:" + postModel.Signature + "," + MP.CheckSignature.GetSignature(postModel.Timestamp, postModel.Nonce, Token) + "。" +
"如果你在浏览器中看到这句话,说明此地址可以被作为微信公众账号后台的Url,请注意保持Token一致。");
}
}
而且需要将postModel.Signature更改为postModel.Msg_Signature,才能验证成功,
是不是加密问题?