授权码
This commit is contained in:
@@ -133,21 +133,21 @@ func (a *API) AccessAPI(baseUrl, actionApi, method string, bizParams map[string]
|
|||||||
// 获取access_token
|
// 获取access_token
|
||||||
func (a *API) GetAccessToken() (tokenInfo *TokenInfo, err error) {
|
func (a *API) GetAccessToken() (tokenInfo *TokenInfo, err error) {
|
||||||
parameter := make(map[string]interface{}, 6)
|
parameter := make(map[string]interface{}, 6)
|
||||||
parameter["grant_type"] = a.grantType
|
parameter["grant_type"] = "refresh_token"
|
||||||
parameter["app_id"] = a.appID
|
parameter["app_id"] = a.appID
|
||||||
parameter["merchant_id"] = a.merchantId
|
parameter["merchant_id"] = a.merchantId
|
||||||
|
|
||||||
// 先去刷新token,没有的话再去获取token(code只能使用一次,生成的token管一年)
|
// 先去刷新token,没有的话再去获取token(code只能使用一次,生成的token管一年)
|
||||||
var result map[string]interface{}
|
var result map[string]interface{}
|
||||||
parameter["refresh_token"] = a.refreshToken
|
if a.accessToken != "" && a.refreshToken != "" {
|
||||||
if a.refreshToken == "" {
|
result, err = a.AccessAPI(RefreshTokenUrl, "", RequestPost, parameter)
|
||||||
|
} else {
|
||||||
|
parameter["grant_type"] = "authorization_code"
|
||||||
parameter["code"] = a.code
|
parameter["code"] = a.code
|
||||||
result, err = a.AccessAPI(TokenURL, "", RequestPost, parameter)
|
result, err = a.AccessAPI(TokenURL, "", RequestPost, parameter)
|
||||||
if err != nil {
|
}
|
||||||
return nil, err
|
if err != nil {
|
||||||
}
|
return nil, err
|
||||||
} else {
|
|
||||||
result, err = a.AccessAPI(RefreshTokenUrl, "", RequestPost, parameter)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := utils.Map2StructByJson(result, &tokenInfo, false); err != nil {
|
if err := utils.Map2StructByJson(result, &tokenInfo, false); err != nil {
|
||||||
|
|||||||
@@ -18,18 +18,19 @@ const (
|
|||||||
|
|
||||||
// 注册请求api
|
// 注册请求api
|
||||||
type API struct {
|
type API struct {
|
||||||
grantType string `json:"grant_type"`
|
grantType string `json:"grant_type"`
|
||||||
code string `json:"code"`
|
code string `json:"code"`
|
||||||
appID string `json:"app_id"`
|
appID string `json:"app_id"`
|
||||||
merchantId string `json:"merchant_id"`
|
merchantId string `json:"merchant_id"`
|
||||||
signature string `json:"signature"`
|
signature string `json:"signature"`
|
||||||
timestamp int64 `json:"timestamp"`
|
timestamp int64 `json:"timestamp"`
|
||||||
accessToken string `json:"access_token"`
|
accessToken string `json:"access_token"`
|
||||||
appSecret string `json:"app_secret"`
|
refreshToken string `json:"refresh_token"`
|
||||||
version string `json:"version"`
|
appSecret string `json:"app_secret"`
|
||||||
locker sync.RWMutex
|
version string `json:"version"`
|
||||||
client *http.Client
|
locker sync.RWMutex
|
||||||
config *platformapi.APIConfig
|
client *http.Client
|
||||||
|
config *platformapi.APIConfig
|
||||||
}
|
}
|
||||||
|
|
||||||
// 请求基础结构体
|
// 请求基础结构体
|
||||||
|
|||||||
@@ -74,18 +74,18 @@ func (a *API) GetAccessToken() (tokenInfo *TokenInfo, err error) {
|
|||||||
parameter["grant_type"] = "refresh_token"
|
parameter["grant_type"] = "refresh_token"
|
||||||
parameter["app_id"] = a.appID
|
parameter["app_id"] = a.appID
|
||||||
parameter["merchant_id"] = a.merchantId
|
parameter["merchant_id"] = a.merchantId
|
||||||
parameter["refresh_token"] = "1"
|
|
||||||
|
|
||||||
// 先去刷新token,没有的话再去获取token(code只能使用一次,生成的token管一年)
|
// 先去刷新token,没有的话再去获取token(code只能使用一次,生成的token管一年)
|
||||||
var result map[string]interface{}
|
var result map[string]interface{}
|
||||||
result, err = a.AccessAPI(RefreshTokenUrl, "", RequestPost, parameter)
|
if a.accessToken != "" && a.refreshToken != "" {
|
||||||
if err != nil {
|
result, err = a.AccessAPI(RefreshTokenUrl, "", RequestPost, parameter)
|
||||||
|
} else {
|
||||||
parameter["grant_type"] = "authorization_code"
|
parameter["grant_type"] = "authorization_code"
|
||||||
parameter["code"] = a.code
|
parameter["code"] = a.code
|
||||||
result, err = a.AccessAPI(TokenURL, "", RequestPost, parameter)
|
result, err = a.AccessAPI(TokenURL, "", RequestPost, parameter)
|
||||||
if err != nil {
|
}
|
||||||
return nil, err
|
if err != nil {
|
||||||
}
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := utils.Map2StructByJson(result, &tokenInfo, false); err != nil {
|
if err := utils.Map2StructByJson(result, &tokenInfo, false); err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user