fix session key

This commit is contained in:
Alireza Ahmadi
2024-05-23 12:01:04 +02:00
parent 55a6d78114
commit 4900c14295
2 changed files with 21 additions and 8 deletions
+5 -5
View File
@@ -18,7 +18,7 @@ var defaultValueMap = map[string]string{
"webListen": "",
"webDomain": "",
"webPort": "2095",
"webSecret": common.Random(32),
"secret": common.Random(32),
"webCertFile": "",
"webKeyFile": "",
"webPath": "/app/",
@@ -191,11 +191,11 @@ func (s *SettingService) SetWebPath(webPath string) error {
}
func (s *SettingService) GetSecret() ([]byte, error) {
secret, err := s.getString("webSecret")
if secret == defaultValueMap["webSecret"] {
err := s.saveSetting("webSecret", secret)
secret, err := s.getString("secret")
if secret == defaultValueMap["secret"] {
err := s.saveSetting("secret", secret)
if err != nil {
logger.Warning("save webSecret failed:", err)
logger.Warning("save secret failed:", err)
}
}
return []byte(secret), err
+16 -3
View File
@@ -1,13 +1,26 @@
package common
import "math/rand"
import (
"math/rand"
"time"
)
var allSeq [62]rune
var (
allSeq []rune
rnd = rand.New(rand.NewSource(time.Now().UnixNano()))
)
func init() {
chars := "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
for _, char := range chars {
allSeq = append(allSeq, char)
}
}
func Random(n int) string {
runes := make([]rune, n)
for i := 0; i < n; i++ {
runes[i] = allSeq[rand.Intn(len(allSeq))]
runes[i] = allSeq[rnd.Intn(len(allSeq))]
}
return string(runes)
}