This commit is contained in:
邹宗楠
2024-05-27 10:41:35 +08:00
parent ffabe37465
commit cd8c78cc08
2 changed files with 17 additions and 1 deletions

View File

@@ -5,6 +5,7 @@ import (
"encoding/base64"
"encoding/json"
"errors"
"git.rosy.net.cn/jx-callback/globals"
"regexp"
"strings"
"time"
@@ -248,7 +249,10 @@ func LoginInternal(ctx *Context, authType, authID, authIDType, authSecret string
}
realAuthID = user.GetID()
}
if authBindEx, err = handler.VerifySecret(realAuthID, authSecret); err == nil {
authBindEx, err = handler.VerifySecret(realAuthID, authSecret)
globals.SugarLogger.Debugf("============authBindEx := %s", utils.Format4Output(authBindEx, false))
globals.SugarLogger.Debugf("============authBindEx := %v", err)
if err == nil {
if authBindEx == nil { // mobile, email会返回nil表示不会新建AuthBind实体
user = userProvider.GetUser(authID, authIDType)
authBindEx = &AuthBindEx{

View File

@@ -4,6 +4,7 @@ import (
"git.rosy.net.cn/baseapi/utils"
"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"
)
@@ -22,18 +23,26 @@ func init() {
func (a *QRCodeAuther) VerifySecret(dummy, code string) (*auth2.AuthBindEx, error) {
userQRInfo, err := api.DingDingQRCodeAPI.GetUserInfoByCode(code)
globals.SugarLogger.Debugf("=========userQRInfo= := %s", utils.Format4Output(userQRInfo, false))
globals.SugarLogger.Debugf("=========err= := %v", err)
if err != nil {
return nil, err
}
tmp_userID, err := api.DingDingAPI.GetByUnionID(userQRInfo.UnionID)
globals.SugarLogger.Debugf("=========userQRInfo= := %s", utils.Format4Output(tmp_userID, false))
globals.SugarLogger.Debugf("=========err= := %v", err)
if err != nil {
return nil, err
}
userInfo, err := api.DingDingAPI.GetUser(tmp_userID.UserID)
globals.SugarLogger.Debugf("=========userInfo= := %s", utils.Format4Output(userInfo, false))
globals.SugarLogger.Debugf("=========err= := %v", err)
if err != nil {
return nil, err
}
authBindEx, err := a.UnionFindAuthBind(AuthTypeQRCode, api.DingDingQRCodeAPI.GetAppID(), []string{AuthTypeStaff, AuthTypeQRCode}, userQRInfo.OpenID, userQRInfo.UnionID, userQRInfo)
globals.SugarLogger.Debugf("=========authBindEx= := %s", utils.Format4Output(authBindEx, false))
globals.SugarLogger.Debugf("=========err= := %v", err)
if err != nil {
return nil, err
}
@@ -43,5 +52,8 @@ func (a *QRCodeAuther) VerifySecret(dummy, code string) (*auth2.AuthBindEx, erro
Email: utils.Interface2String(userInfo["email"]),
Name: utils.Interface2String(userInfo["name"]),
}
globals.SugarLogger.Debugf("=========authBindEx2= := %s", utils.Format4Output(authBindEx, false))
globals.SugarLogger.Debugf("=========err= := %v", err)
return authBindEx, err
}