diff --git a/business/auth2/authprovider/douyin/tiktop_mini.go b/business/auth2/authprovider/douyin/tiktop_mini.go index e94ae36d9..c7c52e218 100644 --- a/business/auth2/authprovider/douyin/tiktop_mini.go +++ b/business/auth2/authprovider/douyin/tiktop_mini.go @@ -9,6 +9,7 @@ import ( "git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/globals" "git.rosy.net.cn/jx-callback/globals/api" + "strings" ) const ( @@ -30,15 +31,16 @@ func init() { func (a *TiktopMiniAuther) VerifySecret(dummy, code string) (authBindEx *auth2.AuthBindEx, err error) { globals.SugarLogger.Debugf("toktok mini VerifySecret jsCode:%s", code) - appID, code := weixin.SplitJsCode(code) + appID, code := splitCode(code) globals.SugarLogger.Debug("检测数据生成结果============", appID) sessionInfo, err := getTikTokApp(appID).GetTiktokOauth(code) + if err != nil { + return nil, err + } globals.SugarLogger.Debug("toktok mini VerifySecret sessionInfo:", sessionInfo) - if err == nil { - sessionKey := sessionInfo.Data.SessionKey - if authBindEx, err = a.UnionFindAuthBind(AuthTypeTiktokMini, api.TiktokApi.GetAppID(), []string{AuthTypeTiktokMini}, sessionInfo.Data.OpenId, sessionInfo.Data.Unionid, sessionInfo); err == nil { - authBindEx.UserData = sessionKey - } + sessionKey := sessionInfo.Data.SessionKey + if authBindEx, err = a.UnionFindAuthBind(AuthTypeTiktokMini, api.TiktokApi.GetAppID(), []string{AuthTypeTiktokMini}, sessionInfo.Data.OpenId, sessionInfo.Data.Unionid, sessionInfo); err == nil { + authBindEx.UserData = sessionKey } return authBindEx, err } @@ -97,3 +99,13 @@ func getTikTokApp(appID string) (TikTokMini *tiktok.API) { } return TikTokMini } +func splitCode(code string) (appID, realCode string) { + str := strings.Split(code, "&") + if len(str) == 2 { + appID = str[1] + realCode = str[0] + } else { + globals.SugarLogger.Warnf("splitCode abnormal code:%s", code) + } + return appID, realCode +}