fix: 存在session_toekn更新并延长时间

This commit is contained in:
TsMask
2023-10-19 14:45:26 +08:00
parent 81e5f28bbb
commit 1118be4fe9

View File

@@ -14,8 +14,14 @@ import (
func SessionToken(username, sourceAddr string) bool { func SessionToken(username, sourceAddr string) bool {
token, _ := redis.Get("", "session_token") token, _ := redis.Get("", "session_token")
if token != "" { if token != "" {
se, err := dborm.XormUpdateSessionShakeTime(token)
if se.AccountId != username || err != nil {
// 过期时间单位秒 配置1800是半小时
expireTime := time.Duration(int64(libConfig.GetExpiresFromConfig())) * time.Second
redis.SetByExpire("", "session_token", token, expireTime)
return true return true
} }
}
token = oauth.GenRandToken("omc") // Generate new token to session ID token = oauth.GenRandToken("omc") // Generate new token to session ID
affected, err := dborm.XormInsertSession(username, sourceAddr, token, libConfig.GetExpiresFromConfig(), libConfig.GetYamlConfig().Auth.Session) affected, err := dborm.XormInsertSession(username, sourceAddr, token, libConfig.GetExpiresFromConfig(), libConfig.GetYamlConfig().Auth.Session)