SendVerifyCode

This commit is contained in:
gazebo
2020-01-06 15:36:33 +08:00
parent 483aa6df20
commit fda22fa2d4
4 changed files with 12 additions and 23 deletions

View File

@@ -53,7 +53,6 @@ type IUser interface {
GetEmail() string
GetName() string
GetAvatar() string
IsAdmin() bool
}
const (
@@ -196,13 +195,9 @@ func CreateCaptcha(width, height, captchaLen int) (captchaInfo *CaptchaInfo, err
return captchaInfo, err
}
func SendVerifyCode(authToken, captchaID, captchaValue, authID string) (verfifyCode string, err error) {
isReturnVerifyCode := false
func SendVerifyCode(authToken, captchaID, captchaValue, authID string) (verfifyCode string, authInfo *AuthInfo, err error) {
if authToken != "" {
authInfo, err2 := GetTokenInfo(authToken)
if err = err2; err == nil {
isReturnVerifyCode = authInfo.IsAdmin()
}
authInfo, err = GetTokenInfo(authToken)
} else if captchaID != "" && captchaValue != "" {
if !(TestCaptchaMap[captchaID] == captchaValue || captcha.VerifyString(captchaID, captchaValue)) {
err = ErrCaptchaIsNotOk
@@ -215,13 +210,10 @@ func SendVerifyCode(authToken, captchaID, captchaValue, authID string) (verfifyC
if handler := authers[authType]; handler == nil {
err = ErrIllegalAuthType
} else {
code, err2 := handler.SendVerifyCode(authID)
if err = err2; err == nil && isReturnVerifyCode {
verfifyCode = code
}
verfifyCode, err = handler.SendVerifyCode(authID)
}
}
return verfifyCode, err
return verfifyCode, authInfo, err
}
// 账号密码时authIDType可能是UserIDID,UserIDID2,UserIDMobile,UserIDEmailauthSecret是密码的sha1

View File

@@ -19,7 +19,6 @@ type UserBasic struct {
Email string `json:"email"`
Name string `json:"name"`
Avatar string `json:"avatar"`
IsAdminData bool `json:"isAdmin"`
}
func (u *UserBasic) GetID() string {
@@ -45,10 +44,6 @@ func (u *UserBasic) GetAvatar() string {
return u.Avatar
}
func (u *UserBasic) IsAdmin() bool {
return u.IsAdminData
}
func (u *UserBasic) UpdateByIUser(user IUser) {
if user != nil {
u.UserID = user.GetID()
@@ -57,7 +52,6 @@ func (u *UserBasic) UpdateByIUser(user IUser) {
u.Email = user.GetEmail()
u.Name = user.GetName()
u.Avatar = user.GetAvatar()
u.IsAdminData = user.IsAdmin()
}
}

View File

@@ -85,10 +85,6 @@ func (user *User) GetAvatar() string {
return user.Avatar
}
func (user *User) IsAdmin() bool {
return user.Type&(UserTypeOperator|UserTypeBoss) != 0
}
type StoreBoss struct {
ModelIDCULD
UserID string `orm:"size(48);column(user_id);unique" json:"userID"` // 内部唯一标识

View File

@@ -13,6 +13,7 @@ import (
"git.rosy.net.cn/jx-callback/business/auth2/authprovider/password"
"git.rosy.net.cn/jx-callback/business/auth2/authprovider/weixin"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/jx-callback/globals"
"github.com/astaxie/beego"
)
@@ -66,7 +67,13 @@ func (c *Auth2Controller) CreateCaptcha() {
// @router /SendVerifyCode [post]
func (c *Auth2Controller) SendVerifyCode() {
c.callSendVerifyCode(func(params *tAuth2SendVerifyCodeParams) (retVal interface{}, errCode string, err error) {
retVal, err = auth2.SendVerifyCode(params.AuthToken, params.CaptchaID, params.CaptchaValue, params.AuthID)
code, authInfo, err := auth2.SendVerifyCode(params.AuthToken, params.CaptchaID, params.CaptchaValue, params.AuthID)
if err == nil && authInfo != nil {
user, err2 := dao.GetUserByID(dao.GetDB(), "user_id", authInfo.GetID())
if err2 == nil && user.Type&(model.UserTypeBoss|model.UserTypeOperator) != 0 {
retVal = code
}
}
return retVal, "", err
})
}