以下为接口调用截图: 以下为服务端API代码:
public Dictionary<String, String> Post(string signature, string msg_signature, string timestamp, string nonce, [FromBody] object body)
{
try
{
JObject jo = JObject.Parse(body.ToString());
#region 获取套件配置参数
string mToken = "l8AqNBnSFNUBuynAHidkFJfP3N";
string mSuiteKey = "ding99e16cab248b3ea7a132XXXXXXXXXX";
string mEncodingAesKey = "WGoY9iYLACkhAZJld5JOYgw5KNPc46nGSfKdQLNexLD";
#endregion
#region 获取回调URL里面的参数
//url中的签名
string mySignature = signature;
//url中的时间戳
string myTimeStamp = timestamp;
//url中的随机字符串
string myNonce = nonce;
//post数据包数据中的加密数据'
string encryptStr = jo["encrypt"].ToString();
#endregion
string sEchoStr = "";
#region
//构造DingTalkCrypt
DingTalkCrypt dingTalk = new DingTalkCrypt(mToken, mEncodingAesKey, mSuiteKey);
string plainText = "";
dingTalk.DecryptMsg(mySignature, myTimeStamp, myNonce, encryptStr, ref plainText);
Hashtable tb = (Hashtable)JsonConvert.DeserializeObject(plainText, typeof(Hashtable));
string eventType = tb["EventType"].ToString();
string res = "success";
switch (eventType)
{
case "suite_ticket"://定时推送Ticket
//ConfigurationManager.AppSettings["SuiteTicket"] = tb["SuiteTicket"].ToString();
mSuiteKey = tb["SuiteKey"].ToString();
break;
case "tmp_auth_code"://钉钉推送过来的临时授权码
//ConfigurationManager.AppSettings["TmpAuthCode"] = tb["AuthCode"].ToString();
break;
case "change_auth":// do something;
break;
case "check_update_suite_url":
res = tb["Random"].ToString();
mSuiteKey = tb["TestSuiteKey"].ToString();
break;
}
myTimeStamp = Helper.GetTimeStamp().ToString();
string encrypt = "";
string newSignature = "";
dingTalk = new DingTalkCrypt(mToken, mEncodingAesKey, mSuiteKey);
dingTalk.EncryptMsg(res, myTimeStamp, myNonce, ref encrypt, ref newSignature);
Dictionary<String, String> jObject = new Dictionary<string, string>
{
{ "msg_signature", mySignature },
{ "timestamp", myTimeStamp },
{ "nonce", myNonce },
{ "encrypt", encrypt }
};
return jObject;
#endregion
}
catch (Exception e)
{
throw e;
}
}
大神们,帮忙看下哪里错了啊,要怎么改?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。