瀏覽代碼

make "dingtalk QR login" configurable

LawyZHENG 4 年之前
父節點
當前提交
ae780418b5
共有 2 個文件被更改,包括 14 次插入10 次删除
  1. 6 0
      conf/app.conf.example
  2. 8 10
      controllers/AccountController.go

+ 6 - 0
conf/app.conf.example

@@ -224,6 +224,12 @@ dingtalk_app_secret="${MINDOC_DINGTALK_APPSECRET}"
 # 钉钉登录默认只读账号
 dingtalk_tmp_reader="${MINDOC_DINGTALK_READER}"
 
+# 钉钉扫码登录Key
+dingtalk_qr_key="${MINDOC_DINGTALK_QRKEY}"
+
+# 钉钉扫码登录Secret
+dingtalk_qr_secret="${MINDOC_DINGTALK_QRSECRET}"
+
 
 
 

+ 8 - 10
controllers/AccountController.go

@@ -165,14 +165,14 @@ func (c *AccountController) DingTalkLogin() {
 
 	userid, err := dingtalkAgent.GetUserIDByCode(code)
 	if err != nil {
-		beego.Warn("钉钉自动登录失败 ->", err)
+		beego.Warn("获取钉钉用户ID失败 ->", err)
 		c.JsonResult(500, "自动登录失败", nil)
 		c.StopRun()
 	}
 
 	username, avatar, err := dingtalkAgent.GetUserNameAndAvatarByUserID(userid)
 	if err != nil {
-		beego.Warn("钉钉自动登录失败 ->", err)
+		beego.Warn("获取钉钉用户信息失败 ->", err)
 		c.JsonResult(500, "自动登录失败", nil)
 		c.StopRun()
 	}
@@ -206,13 +206,13 @@ func (c *AccountController) QRLogin() {
 			c.Redirect(conf.URLFor("AccountController.Login"), 302)
 			c.StopRun()
 		}
-		appKey := "dingoa0wp8qg6gyqtlyno1"
-		appSecret := "YPcijr8Wj47_N2jjEtE3wUsfiUwcTJqfJewgTs9mnHmaHAIsxAe92fmzy-XpdSMs"
+		appKey := beego.AppConfig.String("dingtalk_qr_key")
+		appSecret := beego.AppConfig.String("dingtalk_qr_secret")
 
 		qrDingtalk := dingtalk.NewDingtalkQRLogin(appSecret, appKey)
 		unionID, err := qrDingtalk.GetUnionIDByCode(code)
 		if err != nil {
-			beego.Warn("获取钉钉临时Token失败 ->", err)
+			beego.Warn("获取钉钉临时UnionID失败 ->", err)
 			c.Redirect(conf.URLFor("AccountController.Login"), 302)
 			c.StopRun()
 		}
@@ -231,13 +231,14 @@ func (c *AccountController) QRLogin() {
 
 		userid, err := dingtalkAgent.GetUserIDByUnionID(unionID)
 		if err != nil {
-			beego.Warn("获取钉钉临时Token失败 ->", err)
+			beego.Warn("获取钉钉用户ID失败 ->", err)
+			c.Redirect(conf.URLFor("AccountController.Login"), 302)
 			c.StopRun()
 		}
 
 		username, avatar, err := dingtalkAgent.GetUserNameAndAvatarByUserID(userid)
 		if err != nil {
-			beego.Warn("钉钉自动登录失败 ->", err)
+			beego.Warn("获取钉钉用户信息失败 ->", err)
 			c.Redirect(conf.URLFor("AccountController.Login"), 302)
 			c.StopRun()
 		}
@@ -257,9 +258,6 @@ func (c *AccountController) QRLogin() {
 		}
 		c.Redirect(conf.URLFor("AccountController.Login"), 302)
 
-		// fmt.Println(unionID)
-		// c.JsonResult(0, appName, nil)
-
 	default:
 		c.Redirect(conf.URLFor("AccountController.Login"), 302)
 		c.StopRun()