github.com/lovung/GoCleanArchitecture@v0.0.0-20210302152432-50d91fd29f9f/pkg/jwtutil/csrf.go (about) 1 package jwtutil 2 3 import ( 4 "crypto/rand" 5 "fmt" 6 ) 7 8 const ( 9 csrfTokenLength = 32 10 ) 11 12 // GenerateCSRFToken generates csrf token with random string 13 func GenerateCSRFToken() (string, error) { 14 b := make([]byte, csrfTokenLength) 15 if _, err := rand.Read(b); err != nil { 16 return "", err 17 } 18 19 return fmt.Sprintf("%x", b), nil 20 }