diff --git a/business/auth2/auth2.go b/business/auth2/auth2.go index de4c0d243..a3716b77b 100644 --- a/business/auth2/auth2.go +++ b/business/auth2/auth2.go @@ -340,6 +340,18 @@ func AddAuthBind(user IUser, newAuthInfo *AuthInfo) (err error) { return err } +func AddAuthBindWithMobile(authInfo *AuthInfo, mobile string) (err error) { + if handler := authers[authInfo.AuthBindInfo.Type]; handler != nil { + user, _ := dao.GetUserByID(dao.GetDB(), "mobile", mobile) + authInfo.AuthBindInfo.UserID = user.UserID + //handler.UnbindAuth(user.GetID(), newAuthInfo.GetAuthType(), newAuthInfo.GetAuthTypeID(), user.GetName()) + err = handler.AddAuthBind(authInfo.AuthBindInfo, user.GetName()) + } else { + err = ErrIllegalAuthType + } + return err +} + func UnbindAuth(userID, authType, authTypeID, userName string) (err error) { globals.SugarLogger.Debugf("UnbindAuth userID:%s, authType:%s, authTypeID:%s, userName:%s", userID, authType, authTypeID, userName) if handler := authers[authType]; handler != nil { diff --git a/controllers/auth2_contoller.go b/controllers/auth2_contoller.go index b37cb83ea..9924daacf 100644 --- a/controllers/auth2_contoller.go +++ b/controllers/auth2_contoller.go @@ -271,6 +271,22 @@ func (c *Auth2Controller) AddAuthBind() { }) } +// @Title 绑定认证方式 +// @Description 绑定认证方式 +// @Param token header string true "认证token" +// @Param authToken formData string true "之前通过login得到的新认证TOKEN" +// @Param mobile formData string true "之前通过getuserbyminiinfo得到的" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /AddAuthBindWithMobile [post] +func (c *Auth2Controller) AddAuthBindWithMobile() { + c.callAddAuthBindWithMobile(func(params *tAuth2AddAuthBindWithMobileParams) (retVal interface{}, errCode string, err error) { + newAuthInfo, err := auth2.GetTokenInfo(params.AuthToken) + err = auth2.AddAuthBindWithMobile(newAuthInfo, params.Mobile) + return retVal, "", err + }) +} + // @Title 删除认证方式 // @Description 删除认证方式 // @Param token header string true "认证token" diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index efbe48f55..e2579c67e 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -16,6 +16,15 @@ func init() { Filters: nil, Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:Auth2Controller"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:Auth2Controller"], + beego.ControllerComments{ + Method: "AddAuthBindWithMobile", + Router: "/AddAuthBindWithMobile", + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:Auth2Controller"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:Auth2Controller"], beego.ControllerComments{ Method: "ChangePassword",