Use filesystem session store (#240)

This commit is contained in:
Thomas Miceli
2024-04-03 01:48:31 +02:00
parent ef004675a5
commit a97d9cdbf4
6 changed files with 48 additions and 10 deletions

26
internal/utils/session.go Normal file
View File

@ -0,0 +1,26 @@
package utils
import (
"github.com/gorilla/securecookie"
"github.com/rs/zerolog/log"
"os"
)
func ReadKey(filePath string) []byte {
key, err := os.ReadFile(filePath)
if err == nil {
return key
}
key = securecookie.GenerateRandomKey(32)
if key == nil {
log.Fatal().Msg("Failed to generate a new key for sessions")
}
err = os.WriteFile(filePath, key, 0600)
if err != nil {
log.Fatal().Err(err).Msgf("Failed to save the key to %s", filePath)
}
return key
}