Browse Source

fix(api): Add Default Token Expire (#113)

lejianwen 1 year ago
parent
commit
12442f1ba0
1 changed files with 12 additions and 3 deletions
  1. 12 3
      service/user.go

+ 12 - 3
service/user.go

@@ -90,7 +90,7 @@ func (us *UserService) Login(u *model.User, llog *model.LoginLog) *model.UserTok
90 90
 		Token:      token,
91 91
 		DeviceUuid: llog.Uuid,
92 92
 		DeviceId:   llog.DeviceId,
93
-		ExpiredAt:  time.Now().Add(time.Second * time.Duration(global.Config.App.TokenExpire)).Unix(),
93
+		ExpiredAt:  us.UserTokenExpireTimestamp(),
94 94
 	}
95 95
 	global.DB.Create(ut)
96 96
 	llog.UserTokenId = ut.UserId
@@ -462,8 +462,17 @@ func (us *UserService) getAdminUserCount() int64 {
462 462
 	return count
463 463
 }
464 464
 
465
+// UserTokenExpireTimestamp 生成用户token过期时间
466
+func (us *UserService) UserTokenExpireTimestamp() int64 {
467
+	exp := global.Config.App.TokenExpire
468
+	if exp == 0 {
469
+		exp = 3600 * 24 * 7
470
+	}
471
+	return time.Now().Add(time.Second * time.Duration(exp)).Unix()
472
+}
473
+
465 474
 func (us *UserService) RefreshAccessToken(ut *model.UserToken) {
466
-	ut.ExpiredAt = time.Now().Add(time.Second * time.Duration(global.Config.App.TokenExpire)).Unix()
475
+	ut.ExpiredAt = us.UserTokenExpireTimestamp()
467 476
 	global.DB.Model(ut).Update("expired_at", ut.ExpiredAt)
468 477
 }
469 478
 func (us *UserService) AutoRefreshAccessToken(ut *model.UserToken) {
@@ -486,4 +495,4 @@ func (us *UserService) IsUsernameExists(username string) bool {
486 495
 	global.DB.Where("username = ?", username).First(u)
487 496
 	existsInLdap := AllService.LdapService.IsUsernameExists(username)
488 497
 	return u.Id != 0 || existsInLdap
489
-}
498
+}