@@ -10,6 +10,7 @@ import (
1010 "testing"
1111 "time"
1212
13+ "github.com/kagenti/kagenti-extensions/authbridge/authlib/auth"
1314 "github.com/kagenti/kagenti-extensions/authbridge/authlib/pipeline"
1415)
1516
@@ -39,9 +40,9 @@ func TestExtractBearer_EdgeCases(t *testing.T) {
3940 want : "" ,
4041 },
4142 {
42- name : "wrong case" ,
43+ name : "lowercase bearer (RFC 6750 case-insensitive) " ,
4344 header : "bearer abc123" ,
44- want : "" ,
45+ want : "abc123 " ,
4546 },
4647 {
4748 name : "bearer with no token" ,
@@ -51,12 +52,12 @@ func TestExtractBearer_EdgeCases(t *testing.T) {
5152 {
5253 name : "bearer with trailing whitespace" ,
5354 header : "Bearer " ,
54- want : "" ,
55+ want : " " ,
5556 },
5657 {
5758 name : "bearer with leading spaces in token" ,
5859 header : "Bearer token" ,
59- want : "token" ,
60+ want : " token" ,
6061 },
6162 {
6263 name : "token with internal spaces" ,
@@ -67,9 +68,9 @@ func TestExtractBearer_EdgeCases(t *testing.T) {
6768
6869 for _ , tt := range tests {
6970 t .Run (tt .name , func (t * testing.T ) {
70- got := extractBearer (tt .header )
71+ got := auth . ExtractBearer (tt .header )
7172 if got != tt .want {
72- t .Errorf ("extractBearer (%q) = %q, want %q" , tt .header , got , tt .want )
73+ t .Errorf ("ExtractBearer (%q) = %q, want %q" , tt .header , got , tt .want )
7374 }
7475 })
7576 }
@@ -484,7 +485,7 @@ func TestTokenBroker_OnRequest_DifferentAuthSchemes(t *testing.T) {
484485 {"Digest auth" , "Digest username=\" user\" " , true },
485486 {"No auth" , "" , true },
486487 {"Malformed Bearer" , "Bearertoken" , true },
487- {"Bearer lowercase" , "bearer token" , true },
488+ {"Bearer lowercase (RFC 6750 case-insensitive) " , "bearer token" , false },
488489 }
489490
490491 for _ , tt := range tests {
@@ -585,6 +586,6 @@ func BenchmarkExtractBearer(b *testing.B) {
585586
586587 b .ResetTimer ()
587588 for i := 0 ; i < b .N ; i ++ {
588- _ = extractBearer (header )
589+ _ = auth . ExtractBearer (header )
589590 }
590591}
0 commit comments