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  }