⚠️ DISCLAIMER:
Use with caution in your Go/Gorilla applications. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
32 BYTE AUTH KEY (HMAC signing key)
RjXUEt9c9kHdgKLM87tph0jG3RcbNCGkYzdphK3m0n0IlDheTvSGeR9qn1NznnU8/Vu1H/RhTQWT6GzfjuXDAg==
16 BYTE ENCRYPT KEY (AES-256 encryption key)
VUmp5U9jBKSX8z5DQOdyCs0RMcbque+z3RYXxnacMoI=
HOW TO USE IN YOUR CODE
//Somewhere in your .env file
SESSION_AUTH_KEY=RjXUEt9c9kHdgKLM87tph0jG3RcbNCGkYzdphK3m0n0IlDheTvSGeR9qn1NznnU8/Vu1H/RhTQWT6GzfjuXDAg==
SESSION_ENCRYPT_KEY=VUmp5U9jBKSX8z5DQOdyCs0RMcbque+z3RYXxnacMoI=
/*=== NOTE: Keys are generated as Base64 Encoded. Use the following function to decode and use in your Go code ===*/
//Go code start
import (
"os"
"github.com/gorilla/sessions"
"github.com/joho/godotenv"
"encoding/base64"
)
func getKeyFromEnv(name string) []byte {
raw, err := base64.StdEncoding.DecodeString(os.Getenv(name))
if err != nil {
panic("Invalid base64 for " + name)
}
return raw
}
func init() {
_ = godotenv.Load() // loads from .env file
}
var store = sessions.NewCookieStore(
getKeyFromEnv("SESSION_AUTH_KEY"),
getKeyFromEnv("SESSION_ENCRYPT_KEY"),
)