|
@@ -219,6 +219,9 @@ func (a *AuthController) GetCrmToken(c *gin.Context) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+ // 是否重新生成token
|
|
|
+ var isRegenerate bool
|
|
|
+
|
|
|
var token string
|
|
|
account := utils.MD5(adminName)
|
|
|
// 获取用户未过期的session, 避免过于频繁生成token
|
|
@@ -226,7 +229,20 @@ func (a *AuthController) GetCrmToken(c *gin.Context) {
|
|
|
session, _ := rddp.GetUserUnexpiredSysSession(adminName, expired)
|
|
|
if session != nil && session.AccessToken != "" {
|
|
|
token = session.AccessToken
|
|
|
+
|
|
|
+ // 校验缓存中token是否过期,如果过期了,那么需要重新生成
|
|
|
+ loginKey := fmt.Sprint(utils.CACHE_ACCESS_TOKEN_LOGIN, session.Id)
|
|
|
+ loginInfo, _ := global.Rc.RedisString(loginKey)
|
|
|
+ if loginInfo == `` {
|
|
|
+ isRegenerate = true
|
|
|
+ }
|
|
|
} else {
|
|
|
+ // 没有获取到用户未过期的session,那么需要重新生成
|
|
|
+ isRegenerate = true
|
|
|
+ }
|
|
|
+
|
|
|
+ // 重新生成token
|
|
|
+ if isRegenerate {
|
|
|
token = utils.GenToken(account)
|
|
|
sysSession := new(rddp.SysSession)
|
|
|
sysSession.UserName = adminName
|