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