JeffreySu / WeiXinMPSDK

微信全平台 .NET SDK, Senparc.Weixin for C#,支持 .NET Framework 及 .NET Core、.NET 8.0。已支持微信公众号、小程序、小游戏、微信支付、企业微信/企业号、开放平台、JSSDK、微信周边等全平台。 WeChat SDK for C#.
https://weixin.senparc.com
Apache License 2.0
8.43k stars 4.35k forks source link

关于企业微信 #611

Closed lishewen closed 7 years ago

lishewen commented 7 years ago

( 此版块专为反馈bug及提交需求服务,不负责解答开发问题,请勿发表开发问题, 如果您需要这方面的帮助,请移步问答社区http://weixin.senparc.com/QA )

问题描述

在企业微信中设置接收消息服务器保存时候,出现回调URL校验失败

_20170621080017

相关代码如下:

        [HttpGet]
        // GET: Sales
        public ActionResult Index(PostModel postModel, string echostr)
        {
            string r_echostr = Signature.VerifyURL(Token, EncodingAESKey, CorpId, postModel.Msg_Signature, postModel.Timestamp, postModel.Nonce, echostr);
            return Content(r_echostr);//返回随机字符串则表示验证通过
        }

同样的代码和设置在企业号上就没问题,通过企业号自动升级成企业微信应用的也没问题 不知道你们有没有这种情况? 在我看来他们的AES解密算法和校验方法是没有改变的,我移植的netcore版AES加解密类,跑他们那个Sample.cs也是正常的 抓调试信息发现他们传过来的内容解密后,获得的CorpID不一致,所以导致校验失败 这样看来应该是他们那边的问题,但我通过Email向他们企业微信团队反映这个情况没有得到回应,不知道你们有没有渠道向企业微信团队反馈

发现问题的模块
模块对应的.net版本
开发环境
缓存环境
JeffreySu commented 7 years ago

今天图书最后一天交稿,完成后会开始测试,感谢反馈!

lishewen commented 7 years ago

@JeffreySu 恭喜恭喜,在哪可以买到呢?

JeffreySu commented 7 years ago

@lishewen 下个月京东等各大线上线下书店都会有,我们自己这边也有一些签名版的名额,扫描这个二维码可以查看: qq 20170622110813

lishewen commented 7 years ago

@JeffreySu 哈哈,支持支持

JeffreySu commented 7 years ago

@lishewen 其实我们应该送你一本 😄

lishewen commented 7 years ago

@JeffreySu 哈哈,已支持签名版,再送我一本一般版我也不介意的,签名版拿来收藏,一般版拿来看😄

言归正传,你们测了企业微信后台的接受消息服务器设置没?我这几天试都不行,只能强行短路了CorpID的判断,直接返回解码后的echostr,这样才能正常保存设置,保存设置成功后收发消息正常没问题。

JeffreySu commented 7 years ago

稿子还没看完,估计要到周一了,我今天先找时间看下下。

JeffreySu commented 7 years ago

@lishewen 你上面的截图是从哪里进入的?我这边URL设置智能回到旧的QY里面设置。

另外在QY里面倒是测试出来一个问题,有的网站只能用http,不能用https。

lishewen commented 7 years ago

@JeffreySu 在 https://work.weixin.qq.com/ 这个网址登录进去的后台

我这边抓包是,填了 https://xxx.com/ 之后,他们访问过来URL是 http://xxx.com:443/ 但我的saas框架能正常作为https识别,所以这个issue我就没提

JeffreySu commented 7 years ago

企业微信的后台我知道,我说的是你截图的在企业微信里面填url的,我这里找了一圈没找到这样的入口,都是让我去QY后台设置(这个问题和我们要讨论的可用性没关系)

lishewen commented 7 years ago

登入企业微信后台,在上方的选项卡那里选企业应用,然后随便点进一个自建应用(如:企业小助手),然后在下面 接收消息 那里点设置

_20170626100945
JeffreySu commented 7 years ago

get

lishewen commented 7 years ago

今天测试,企业微信那边已经调整正常了,代码没有任何改动,Close了

liuliangjia commented 7 years ago

我怎么还存在这个问题呢

这一步我还没设置任何跟CorpId有关的信息,在哪儿设置?

liuliangjia commented 7 years ago

@lishewen 这个您后来是怎么解决的哦?

lishewen commented 7 years ago

CorpId 可以在 我的企业 -> 企业信息 中找到

@liuliangjia 这个问题不是我解决的 是企业微信那边自己好的,没有改动任何代码