重置密码副作用配套: - services/www 新增 RefreshUserSessionID(清 www 登录态,apisdk.gaore.com /user/sdk_passport.php)及无凭证 NewClient - 新建 services/web 包,ForceOut 清官网 web 登录态(web.gaore.com /web/users/force_out) 端点/参数/签名与老综合后台 GaoreSDK 1:1 对齐
68 lines
1.7 KiB
Go
68 lines
1.7 KiB
Go
package www
|
||
|
||
import (
|
||
"strings"
|
||
|
||
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk"
|
||
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests"
|
||
)
|
||
|
||
const (
|
||
VERSION = "2020-09-24"
|
||
)
|
||
|
||
var HOST requests.Host = requests.Host{
|
||
Default: "apisdk.9ooo.cn",
|
||
Func: func(s string) string {
|
||
var a = map[string]string{
|
||
requests.RELEASE: "apisdk.9ooo.cn",
|
||
requests.PRE: "apisdk.9ooo.cn",
|
||
requests.TEST: "apisdk.9ooo.cn",
|
||
}
|
||
return a[s]
|
||
},
|
||
}
|
||
|
||
type Client struct {
|
||
sdk.Client
|
||
}
|
||
|
||
// NewClient 无凭证客户端(用于自带签名的表单接口,如 refreshUserSessionId)
|
||
func NewClient() (client *Client, err error) {
|
||
client = &Client{}
|
||
err = client.Init()
|
||
return
|
||
}
|
||
|
||
func NewClientWithAccessKey(accesskey, secrect, source string) (client *Client, err error) {
|
||
client = &Client{}
|
||
err = client.InitWithAccessKey(accesskey, secrect, source)
|
||
return
|
||
}
|
||
|
||
func NewClientWithAliAppcode(accesskey, secrect string, env ...string) (client *Client, err error) {
|
||
client = &Client{}
|
||
err = client.InitWithAliAppcode(accesskey, secrect, env...)
|
||
return
|
||
}
|
||
|
||
func (c *Client) GetUserInfo(req *GetPwdRequest) (response *GetPwdResponse, err error) {
|
||
response = CreateGetPwdResponse()
|
||
err = c.DoAction(req, response)
|
||
return
|
||
}
|
||
|
||
// RefreshUserSessionID 刷新用户 session(清 www 登录态),返回远端原始响应
|
||
func (c *Client) RefreshUserSessionID(uname string) (response string, err error) {
|
||
req := CreateRefreshUserSessionIDReq(uname)
|
||
resp := CreateRefreshUserSessionIDResp()
|
||
err = c.DoAction(req, resp)
|
||
if err != nil && strings.Contains(err.Error(), "json Unmarshal:") {
|
||
// 远端返回非 JSON(如纯文本),直接取原始响应
|
||
return resp.GetHttpContentString(), nil
|
||
} else if err != nil {
|
||
return "", err
|
||
}
|
||
return resp.GetHttpContentString(), nil
|
||
}
|