this repo has no description
1package helpers
2
3import (
4 "crypto/rand"
5 "crypto/sha256"
6 "encoding/base64"
7 "encoding/hex"
8)
9
10func GenerateToken(len int) (string, error) {
11 b := make([]byte, len)
12 if _, err := rand.Read(b); err != nil {
13 return "", err
14 }
15
16 return hex.EncodeToString(b), nil
17}
18
19func GenerateCodeChallenge(pkceVerifier string) string {
20 h := sha256.New()
21 h.Write([]byte(pkceVerifier))
22 hash := h.Sum(nil)
23 return base64.RawURLEncoding.EncodeToString(hash)
24}