- qrcode auth for dingding
This commit is contained in:
@@ -7,6 +7,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/dingding"
|
||||
"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/jxcallback/auth"
|
||||
@@ -133,6 +134,36 @@ func (c *Auth2Controller) WeixinMPOAuth2() {
|
||||
c.Redirect(redirectURL, http.StatusTemporaryRedirect)
|
||||
}
|
||||
|
||||
// @Title 钉钉认证回调接口
|
||||
// @Description 钉钉认证回调接口,自己不能直接调用
|
||||
// @Param code query string true "客户同意后得到的code"
|
||||
// @Param block query string true "回调地址"
|
||||
// @Param state query string false "微信回调的登录状态"
|
||||
// @Success 200 {object} controllers.CallResult
|
||||
// @Failure 200 {object} controllers.CallResult
|
||||
// @router /DingDingOAuth2 [get]
|
||||
func (c *Auth2Controller) DingDingOAuth2() {
|
||||
var redirectURL string
|
||||
c.callDingDingOAuth2(func(params *tAuth2DingDingOAuth2Params) (retVal interface{}, errCode string, err error) {
|
||||
authInfo, err := auth2.Login(dingding.AuthTypeQRCode, params.State, "", params.Code)
|
||||
var callResult *CallResult
|
||||
if err == nil {
|
||||
callResult = &CallResult{
|
||||
Code: model.ErrCodeSuccess,
|
||||
Data: string(utils.MustMarshal(authInfo)),
|
||||
}
|
||||
} else {
|
||||
callResult = &CallResult{
|
||||
Code: model.ErrCodeGeneralFailed,
|
||||
Desc: err.Error(),
|
||||
}
|
||||
}
|
||||
redirectURL = fmt.Sprintf("%s?info=%s", params.Block, base64.StdEncoding.EncodeToString(utils.MustMarshal(callResult)))
|
||||
return retVal, model.ErrorCodeIgnore, err
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
// @Title 登出接口
|
||||
// @Description 登出接口(此接口兼容V1的TOKEN)
|
||||
// @Param token header string true "认证token"
|
||||
|
||||
Reference in New Issue
Block a user