- remove app_secret from jddj api request

This commit is contained in:
gazebo
2019-02-26 16:35:08 +08:00
parent 9e5547cdf8
commit 0340eb1245
3 changed files with 7 additions and 9 deletions

View File

@@ -96,7 +96,6 @@ func (a *API) unmarshalData(strData string, msg interface{}) (callbackResponse *
func (a *API) CheckCallbackValidation(values url.Values) (callbackResponse *CallbackResponse) {
mapData := utils.URLValues2Map(values)
mapData["app_secret"] = a.appSecret
sign := a.signParams(mapData)
if sign != values.Get(signKey) {
baseapi.SugarLogger.Infof("Signature is not ok, mine:%v, get:%v", sign, values.Get(signKey))

View File

@@ -49,8 +49,10 @@ const (
)
const (
prodURL = "https://openapi.jddj.com/djapi"
signKey = "sign"
prodURL = "https://openapi.jddj.com/djapi"
signKey = "sign"
appSecretKey = "app_secret"
AllPage = 0
DefaultPageSize = 50
@@ -105,18 +107,17 @@ type PageResultParser func(map[string]interface{}, int) ([]interface{}, int, err
func (a *API) signParams(jdParams map[string]interface{}) string {
var keys []string
for k := range jdParams {
if k != "app_secret" && k != signKey {
if k != signKey {
keys = append(keys, k)
}
}
sort.Strings(keys)
secretStr := fmt.Sprint(jdParams["app_secret"])
allStr := secretStr
allStr := a.appSecret
for _, k := range keys {
allStr += k + fmt.Sprint(jdParams[k])
}
allStr = allStr + secretStr
allStr = allStr + a.appSecret
return fmt.Sprintf("%X", md5.Sum([]byte(allStr)))
}
@@ -140,7 +141,6 @@ func (a *API) AccessAPI(apiStr string, jdParams map[string]interface{}) (retVal
params["v"] = "1.0"
params["format"] = "json"
params["app_key"] = a.appKey
params["app_secret"] = a.appSecret
params["token"] = a.token
if jdParams == nil {

View File

@@ -93,7 +93,6 @@ func TestSimulateSendNewOrderMsg(t *testing.T) {
params.Set(paramJson, string(utils.MustMarshal(orderInfo)))
mapData := utils.URLValues2Map(params)
mapData["app_secret"] = jdapi.appSecret
params.Set(signKey, jdapi.signParams(mapData))
response, err := http.PostForm("http://callback.test.jxc4.com/djsw/newOrder", params)