package csrf import ( "crypto/rand" "encoding/base64" "log/slog" ) func generateToken(length int) (string, error) { b := make([]byte, length) _, err := rand.Read(b) if err != nil { slog.Error("generate csrf token", slog.String("op", "service.generateToken"), slog.Any("error", err)) return "", ErrInternal } return base64.RawURLEncoding.EncodeToString(b), nil }