This commit is contained in:
suyl
2021-08-17 14:43:22 +08:00
parent 747fd0b1e0
commit c5cdf1ade1

View File

@@ -87,8 +87,6 @@ func (a *API) PackCallbackResult(result string) (response *CallbackResponse) {
Nonce: utils.GetUUID(),
}
response.MsgSignature = a.calculateCallbackSign(utils.Struct2MapByJson(response))
} else {
fmt.Println("err", err)
}
return response
}
@@ -202,7 +200,6 @@ func (a *API) GetCallbackMsg(formMap map[string]interface{}, bodyData []byte) (m
var bodyMap map[string]interface{}
var err error
err = utils.UnmarshalUseNumber(bodyData, &bodyMap)
fmt.Println("bodyMap", bodyMap)
if err == nil {
encrypt := utils.Interface2String(bodyMap["encrypt"])
dataMap := map[string]interface{}{
@@ -212,13 +209,17 @@ func (a *API) GetCallbackMsg(formMap map[string]interface{}, bodyData []byte) (m
"encrypt": encrypt,
}
signRemote := formMap["signature"].(string)
fmt.Println("11111111111111111111111111111111111111111")
signMine := a.calculateCallbackSign(dataMap)
if signMine != signRemote {
baseapi.SugarLogger.Infof("signRemote:%s, signMine:%s, formMap:%s, bodyData:%s", signRemote, signMine, utils.Format4Output(formMap, true), string(bodyData))
err = errors.New("sign not match")
fmt.Println("2222222222222222222222222222222222222222222222222")
} else {
var descryptMsg string
fmt.Println("3333333333333333333333333333333333333333333333333333")
if descryptMsg, err = a.Decrypt(formMap["signature"].(string), formMap["timestamp"].(string), formMap["nonce"].(string), encrypt); err == nil {
fmt.Println("44444444444444444444444444444444444444444444444444444444")
baseapi.SugarLogger.Debugf("dingding GetCallbackMsg descryptMsg:%s", descryptMsg)
err = utils.UnmarshalUseNumber([]byte(descryptMsg), &msgMap)
}
@@ -230,7 +231,6 @@ func (a *API) GetCallbackMsg(formMap map[string]interface{}, bodyData []byte) (m
func NewDingTalkCrypto(token, encodingAESKey, suiteKey string) *DingTalkCrypto {
bkey, _ := base64.StdEncoding.DecodeString(encodingAESKey + "=")
fmt.Println("11111111111111111", token, encodingAESKey, suiteKey)
block, _ := aes.NewCipher(bkey)
c := &DingTalkCrypto{
Token: token,