()
| 24 | } |
| 25 | |
| 26 | func generateChallengeKey() (string, error) { |
| 27 | p := make([]byte, 16) |
| 28 | if _, err := io.ReadFull(rand.Reader, p); err != nil { |
| 29 | return "", err |
| 30 | } |
| 31 | return base64.StdEncoding.EncodeToString(p), nil |
| 32 | } |
| 33 | |
| 34 | // Token octets per RFC 2616. |
| 35 | var isTokenOctet = [256]bool{ |