mirror of
https://github.com/mindoc-org/mindoc.git
synced 2026-01-19 18:21:18 +08:00
make "dingtalk QR login" configurable
This commit is contained in:
@@ -224,6 +224,12 @@ dingtalk_app_secret="${MINDOC_DINGTALK_APPSECRET}"
|
|||||||
# 钉钉登录默认只读账号
|
# 钉钉登录默认只读账号
|
||||||
dingtalk_tmp_reader="${MINDOC_DINGTALK_READER}"
|
dingtalk_tmp_reader="${MINDOC_DINGTALK_READER}"
|
||||||
|
|
||||||
|
# 钉钉扫码登录Key
|
||||||
|
dingtalk_qr_key="${MINDOC_DINGTALK_QRKEY}"
|
||||||
|
|
||||||
|
# 钉钉扫码登录Secret
|
||||||
|
dingtalk_qr_secret="${MINDOC_DINGTALK_QRSECRET}"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -165,14 +165,14 @@ func (c *AccountController) DingTalkLogin() {
|
|||||||
|
|
||||||
userid, err := dingtalkAgent.GetUserIDByCode(code)
|
userid, err := dingtalkAgent.GetUserIDByCode(code)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
beego.Warn("钉钉自动登录失败 ->", err)
|
beego.Warn("获取钉钉用户ID失败 ->", err)
|
||||||
c.JsonResult(500, "自动登录失败", nil)
|
c.JsonResult(500, "自动登录失败", nil)
|
||||||
c.StopRun()
|
c.StopRun()
|
||||||
}
|
}
|
||||||
|
|
||||||
username, avatar, err := dingtalkAgent.GetUserNameAndAvatarByUserID(userid)
|
username, avatar, err := dingtalkAgent.GetUserNameAndAvatarByUserID(userid)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
beego.Warn("钉钉自动登录失败 ->", err)
|
beego.Warn("获取钉钉用户信息失败 ->", err)
|
||||||
c.JsonResult(500, "自动登录失败", nil)
|
c.JsonResult(500, "自动登录失败", nil)
|
||||||
c.StopRun()
|
c.StopRun()
|
||||||
}
|
}
|
||||||
@@ -206,13 +206,13 @@ func (c *AccountController) QRLogin() {
|
|||||||
c.Redirect(conf.URLFor("AccountController.Login"), 302)
|
c.Redirect(conf.URLFor("AccountController.Login"), 302)
|
||||||
c.StopRun()
|
c.StopRun()
|
||||||
}
|
}
|
||||||
appKey := "dingoa0wp8qg6gyqtlyno1"
|
appKey := beego.AppConfig.String("dingtalk_qr_key")
|
||||||
appSecret := "YPcijr8Wj47_N2jjEtE3wUsfiUwcTJqfJewgTs9mnHmaHAIsxAe92fmzy-XpdSMs"
|
appSecret := beego.AppConfig.String("dingtalk_qr_secret")
|
||||||
|
|
||||||
qrDingtalk := dingtalk.NewDingtalkQRLogin(appSecret, appKey)
|
qrDingtalk := dingtalk.NewDingtalkQRLogin(appSecret, appKey)
|
||||||
unionID, err := qrDingtalk.GetUnionIDByCode(code)
|
unionID, err := qrDingtalk.GetUnionIDByCode(code)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
beego.Warn("获取钉钉临时Token失败 ->", err)
|
beego.Warn("获取钉钉临时UnionID失败 ->", err)
|
||||||
c.Redirect(conf.URLFor("AccountController.Login"), 302)
|
c.Redirect(conf.URLFor("AccountController.Login"), 302)
|
||||||
c.StopRun()
|
c.StopRun()
|
||||||
}
|
}
|
||||||
@@ -231,13 +231,14 @@ func (c *AccountController) QRLogin() {
|
|||||||
|
|
||||||
userid, err := dingtalkAgent.GetUserIDByUnionID(unionID)
|
userid, err := dingtalkAgent.GetUserIDByUnionID(unionID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
beego.Warn("获取钉钉临时Token失败 ->", err)
|
beego.Warn("获取钉钉用户ID失败 ->", err)
|
||||||
|
c.Redirect(conf.URLFor("AccountController.Login"), 302)
|
||||||
c.StopRun()
|
c.StopRun()
|
||||||
}
|
}
|
||||||
|
|
||||||
username, avatar, err := dingtalkAgent.GetUserNameAndAvatarByUserID(userid)
|
username, avatar, err := dingtalkAgent.GetUserNameAndAvatarByUserID(userid)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
beego.Warn("钉钉自动登录失败 ->", err)
|
beego.Warn("获取钉钉用户信息失败 ->", err)
|
||||||
c.Redirect(conf.URLFor("AccountController.Login"), 302)
|
c.Redirect(conf.URLFor("AccountController.Login"), 302)
|
||||||
c.StopRun()
|
c.StopRun()
|
||||||
}
|
}
|
||||||
@@ -257,9 +258,6 @@ func (c *AccountController) QRLogin() {
|
|||||||
}
|
}
|
||||||
c.Redirect(conf.URLFor("AccountController.Login"), 302)
|
c.Redirect(conf.URLFor("AccountController.Login"), 302)
|
||||||
|
|
||||||
// fmt.Println(unionID)
|
|
||||||
// c.JsonResult(0, appName, nil)
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
c.Redirect(conf.URLFor("AccountController.Login"), 302)
|
c.Redirect(conf.URLFor("AccountController.Login"), 302)
|
||||||
c.StopRun()
|
c.StopRun()
|
||||||
|
|||||||
Reference in New Issue
Block a user