package alipay import ( "git.rosy.net.cn/baseapi/platformapi/alipayapi" "git.rosy.net.cn/jx-callback/business/auth2" "git.rosy.net.cn/jx-callback/business/auth2/authprovider" "git.rosy.net.cn/jx-callback/globals" "git.rosy.net.cn/jx-callback/globals/api" ) const ( AuthType = "alipaycode" ) type Auther struct { authprovider.DefAuther } var ( AutherObj *Auther ) func init() { AutherObj = new(Auther) auth2.RegisterAuther(AuthType, AutherObj) } func (a *Auther) VerifySecret(dummy, code string) (authBindEx *auth2.AuthBindEx, err error) { globals.SugarLogger.Debugf("VerifySecret dummy:%s, code:%s", dummy, code) tokenInfo, err := api.AliPayAPI.SystemAuthToken(alipayapi.GrantTypeCode, code, "") if err == nil { userInfo, err2 := api.AliPayAPI.UserInfoShare(tokenInfo.AccessToken) if err = err2; err == nil { if authBindEx, err = a.UnionFindAuthBind(AuthType, api.AliPayAPI.GetAppID(), nil, userInfo.UserID, "", userInfo); err == nil { authBindEx.UserHint = &auth2.UserBasic{ Name: userInfo.NickName, Avatar: userInfo.Avatar, } } } } return authBindEx, err }