- 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) { func (a *API) CheckCallbackValidation(values url.Values) (callbackResponse *CallbackResponse) {
mapData := utils.URLValues2Map(values) mapData := utils.URLValues2Map(values)
mapData["app_secret"] = a.appSecret
sign := a.signParams(mapData) sign := a.signParams(mapData)
if sign != values.Get(signKey) { if sign != values.Get(signKey) {
baseapi.SugarLogger.Infof("Signature is not ok, mine:%v, get:%v", 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 ( const (
prodURL = "https://openapi.jddj.com/djapi" prodURL = "https://openapi.jddj.com/djapi"
signKey = "sign" signKey = "sign"
appSecretKey = "app_secret"
AllPage = 0 AllPage = 0
DefaultPageSize = 50 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 { func (a *API) signParams(jdParams map[string]interface{}) string {
var keys []string var keys []string
for k := range jdParams { for k := range jdParams {
if k != "app_secret" && k != signKey { if k != signKey {
keys = append(keys, k) keys = append(keys, k)
} }
} }
sort.Strings(keys) sort.Strings(keys)
secretStr := fmt.Sprint(jdParams["app_secret"]) allStr := a.appSecret
allStr := secretStr
for _, k := range keys { for _, k := range keys {
allStr += k + fmt.Sprint(jdParams[k]) allStr += k + fmt.Sprint(jdParams[k])
} }
allStr = allStr + secretStr allStr = allStr + a.appSecret
return fmt.Sprintf("%X", md5.Sum([]byte(allStr))) 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["v"] = "1.0"
params["format"] = "json" params["format"] = "json"
params["app_key"] = a.appKey params["app_key"] = a.appKey
params["app_secret"] = a.appSecret
params["token"] = a.token params["token"] = a.token
if jdParams == nil { if jdParams == nil {

View File

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