diff --git a/business/auth2/authprovider/dingding/qrcode.go b/business/auth2/authprovider/dingding/qrcode.go index 81392e429..b43a55a7a 100644 --- a/business/auth2/authprovider/dingding/qrcode.go +++ b/business/auth2/authprovider/dingding/qrcode.go @@ -26,11 +26,22 @@ func (a *QRCodeAuther) VerifySecret(dummy, code string) (authBindEx *auth2.AuthB userQRInfo, err := api.DingDingQRCodeAPI.GetUserInfoByCode(code) if err == nil { + tmp_userID, err := api.DingDingAPI.GetByUnionID(userQRInfo.UnionID) + if err != nil { + return nil, err + } + userInfo, err := api.DingDingAPI.GetUser(tmp_userID.UserID) + if err != nil { + return nil, err + } globals.SugarLogger.Debugf("dingding qrcode VerifySecret code:%s, userQRInfo:%s", code, utils.Format4Output(userQRInfo, false)) if authBindEx, err = a.UnionFindAuthBind(AuthTypeQRCode, api.DingDingQRCodeAPI.GetAppID(), []string{AuthTypeStaff, AuthTypeQRCode}, userQRInfo.OpenID, userQRInfo.UnionID, userQRInfo); err == nil { authBindEx.UserHint = &auth2.UserBasic{ - Name: userQRInfo.Nickname, - //UserID: userQR Info., + //Name: userQRInfo.Nickname, + UserID2: tmp_userID.UserID, + Mobile: utils.Interface2String(userInfo["mobile"]), + Email: utils.Interface2String(userInfo["email"]), + Name: utils.Interface2String(userInfo["name"]), } } }