mirror of
https://github.com/yusing/godoxy.git
synced 2025-05-20 04:42:33 +02:00
28 lines
485 B
Go
28 lines
485 B
Go
package common
|
|
|
|
import (
|
|
"crypto/rand"
|
|
"encoding/base64"
|
|
|
|
"github.com/rs/zerolog/log"
|
|
)
|
|
|
|
func decodeJWTKey(key string) []byte {
|
|
if key == "" {
|
|
return nil
|
|
}
|
|
bytes, err := base64.StdEncoding.DecodeString(key)
|
|
if err != nil {
|
|
log.Panic().Err(err).Msg("failed to decode jwt key")
|
|
}
|
|
return bytes
|
|
}
|
|
|
|
func RandomJWTKey() []byte {
|
|
key := make([]byte, 32)
|
|
_, err := rand.Read(key)
|
|
if err != nil {
|
|
log.Panic().Err(err).Msg("failed to generate random jwt key")
|
|
}
|
|
return key
|
|
}
|