- remove app_secret from jddj api request
This commit is contained in:
@@ -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))
|
||||||
|
|||||||
@@ -51,6 +51,8 @@ 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 {
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user