Commit 444d6e5

mo khan <mo@mokhan.ca>
2025-05-07 17:20:07
fix: base64 encode signature
1 parent 104ccfb
Changed files (2)
pkg/cookie/option.go
@@ -29,7 +29,8 @@ func WithValue(value string) x.Option[*http.Cookie] {
 func WithSignedValue(value string, signer crypt.Signer) x.Option[*http.Cookie] {
 	signature, _ := signer.Sign([]byte(value))
 	delimiter := "--"
-	return WithValue(fmt.Sprintf("%v%v%v", value, delimiter, string(signature)))
+	encodedSignature := base64.URLEncoding.EncodeToString(signature)
+	return WithValue(fmt.Sprintf("%v%v%v", value, delimiter, encodedSignature))
 }
 
 func WithEncodedValue(data []byte, encoding *base64.Encoding) x.Option[*http.Cookie] {
pkg/cookie/option_test.go
@@ -76,7 +76,7 @@ func TestOption(t *testing.T) {
 		mac.Write([]byte(value))
 		signature := mac.Sum(nil)
 
-		expected := fmt.Sprintf("%v--%v", value, string(signature))
+		expected := fmt.Sprintf("%v--%v", value, base64.URLEncoding.EncodeToString(signature))
 
 		assert.Equal(t, expected, cookie.Value)
 		assert.True(t, hmac.Equal([]byte(expected), []byte(cookie.Value)))