- dingding auth

This commit is contained in:
gazebo
2019-03-07 21:15:19 +08:00
parent 123ffd4353
commit ce109a60b3
16 changed files with 238 additions and 85 deletions

View File

@@ -16,10 +16,11 @@ import (
)
const (
weixinTokenExpires = 7200 * time.Second
elmTokenExpires = 20 * 24 * 3600 * time.Second
weimobTokenExpires = 7200 * time.Second
maxRefreshGap = 5 * 60 * time.Second
weixinTokenExpires = 7200 * time.Second
dingdingTokenExpires = 7200 * time.Second
elmTokenExpires = 20 * 24 * 3600 * time.Second
weimobTokenExpires = 7200 * time.Second
maxRefreshGap = 5 * 60 * time.Second
)
type ElmTokenForCompatible struct {
@@ -106,7 +107,7 @@ func RefreshWeixinToken() error {
return RefreshConfig("wechat", weixinTokenExpires, func() (string, string) {
globals.SugarLogger.Debugf("RefreshWeixinToken RunMode:%s", beego.BConfig.RunMode)
if beego.BConfig.RunMode == "prod" {
if tokenInfo, err := api.WeixinAPI.CBRefreshToken(); err == nil {
if tokenInfo, err := api.WeixinAPI.CBRetrieveToken(); err == nil {
globals.SugarLogger.Debugf("RefreshWeixinToken tokenInfo:%s", utils.Format4Output(tokenInfo, true))
return tokenInfo.AccessToken, ""
} else {
@@ -162,6 +163,23 @@ func RefreshWeimobToken() error {
})
}
func RefreshDingDingToken() error {
return RefreshConfig("dingding", dingdingTokenExpires, func() (string, string) {
globals.SugarLogger.Debugf("RefreshDingDingToken RunMode:%s", beego.BConfig.RunMode)
if beego.BConfig.RunMode == "prod" {
if token, err := api.DingDingAPI.RetrieveToken(); err == nil {
globals.SugarLogger.Debugf("RefreshDingDingToken tokenInfo:%s", token)
return token, ""
} else {
globals.SugarLogger.Errorf("RefreshDingDingToken RefreshToken failed with error:%v", err)
}
}
return "", ""
}, func(value string) {
api.DingDingAPI.SetToken(value)
})
}
func SaveWeimobToken(token *weimobapi.TokenInfo) (err error) {
db := dao.GetDB()
config := &legacymodel.Config{