@@ -160,7 +160,7 @@ func TestCookieRefreshMustBeLessThanCookieExpire(t *testing.T) {
160160 o := testOptions()
161161 assert.Equal(t, nil, o.Validate())
162162
163− o.CookieSecret = "0123456789abcdef"
163+ o.CookieSecret = "0123456789abcdefabcd"
164164 o.CookieRefresh = o.CookieExpire
165165 assert.NotEqual(t, nil, o.Validate())
166166
@@ -168,6 +168,31 @@ func TestCookieRefreshMustBeLessThanCookieExpire(t *testing.T) {
168168 assert.Equal(t, nil, o.Validate())
169169}
170170
171+func TestBase64CookieSecret(t *testing.T) {
172+ o := testOptions()
173+ assert.Equal(t, nil, o.Validate())
174+
175+ // 32 byte, base64 (urlsafe) encoded key
176+ o.CookieSecret = "yHBw2lh2Cvo6aI_jn_qMTr-pRAjtq0nzVgDJNb36jgQ="
177+ assert.Equal(t, nil, o.Validate())
178+
179+ // 32 byte, base64 (urlsafe) encoded key, w/o padding
180+ o.CookieSecret = "yHBw2lh2Cvo6aI_jn_qMTr-pRAjtq0nzVgDJNb36jgQ"
181+ assert.Equal(t, nil, o.Validate())
182+
183+ // 24 byte, base64 (urlsafe) encoded key
184+ o.CookieSecret = "Kp33Gj-GQmYtz4zZUyUDdqQKx5_Hgkv3"
185+ assert.Equal(t, nil, o.Validate())
186+
187+ // 16 byte, base64 (urlsafe) encoded key
188+ o.CookieSecret = "LFEqZYvYUwKwzn0tEuTpLA=="
189+ assert.Equal(t, nil, o.Validate())
190+
191+ // 16 byte, base64 (urlsafe) encoded key, w/o padding
192+ o.CookieSecret = "LFEqZYvYUwKwzn0tEuTpLA"
193+ assert.Equal(t, nil, o.Validate())
194+}
195+
171196func TestValidateSignatureKey(t *testing.T) {
172197 o := testOptions()
173198 o.SignatureKey = "sha1:secret"