Skip to content

Commit 2b18961

Browse files
committed
fix:(cookie) generate the cookie secret as a random string
1 parent a6e890d commit 2b18961

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

pkg/proxy/proxy.go

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -251,13 +251,25 @@ func proxySecret(sso *apiv1.SSO, client *api.Client, proxyURL string,
251251
return secret, nil
252252
}
253253

254-
func generateSecret(len int) (string, error) {
254+
func generateSecret(size int) (string, error) {
255+
const letters = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
256+
bytes, err := generateRandomBytes(size)
257+
if err != nil {
258+
return "", errors.Wrap(err, "generating secret")
259+
}
260+
for i, b := range bytes {
261+
bytes[i] = letters[b%byte(len(letters))]
262+
}
263+
return string(bytes), nil
264+
}
265+
266+
func generateRandomBytes(len int) ([]byte, error) {
255267
b := make([]byte, len)
256268
_, err := rand.Read(b)
257269
if err != nil {
258-
return "", errors.Wrap(err, "generating random")
270+
return nil, errors.Wrap(err, "generating random")
259271
}
260-
return string(b), nil
272+
return b, nil
261273
}
262274

263275
func getUpstreamURL(upstreamService string, namespace string) (string, error) {

0 commit comments

Comments
 (0)