File tree Expand file tree Collapse file tree 3 files changed +8
-9
lines changed Expand file tree Collapse file tree 3 files changed +8
-9
lines changed Original file line number Diff line number Diff line change @@ -19,11 +19,11 @@ import (
19
19
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
20
20
"k8s.io/klog/v2"
21
21
"sigs.k8s.io/yaml"
22
+ "strings"
22
23
)
23
24
24
25
const (
25
- AuthorizationHeader = "Kubernetes-Authorization"
26
- AuthorizationBearerTokenHeader = "kubernetes-authorization-bearer-token"
26
+ AuthorizationHeader = "kubernetes-authorization"
27
27
)
28
28
29
29
type CloseWatchKubeConfig func () error
@@ -125,13 +125,13 @@ func (k *Kubernetes) ToRESTMapper() (meta.RESTMapper, error) {
125
125
}
126
126
127
127
func (k * Kubernetes ) Derived (ctx context.Context ) * Kubernetes {
128
- bearerToken , ok := ctx .Value (AuthorizationBearerTokenHeader ).(string )
129
- if ! ok {
128
+ authorization , ok := ctx .Value (AuthorizationHeader ).(string )
129
+ if ! ok || ! strings . HasPrefix ( authorization , "Bearer " ) {
130
130
return k
131
131
}
132
- klog .V (5 ).Infof ("%s header found, using provided bearer token" , AuthorizationBearerTokenHeader )
132
+ klog .V (5 ).Infof ("%s header found (Bearer) , using provided bearer token" , AuthorizationHeader )
133
133
derivedCfg := rest .CopyConfig (k .cfg )
134
- derivedCfg .BearerToken = bearerToken
134
+ derivedCfg .BearerToken = strings . TrimPrefix ( authorization , "Bearer " )
135
135
derivedCfg .BearerTokenFile = ""
136
136
derivedCfg .Username = ""
137
137
derivedCfg .Password = ""
Original file line number Diff line number Diff line change @@ -109,6 +109,5 @@ func NewTextResult(content string, err error) *mcp.CallToolResult {
109
109
}
110
110
111
111
func contextFunc (ctx context.Context , r * http.Request ) context.Context {
112
- //return context.WithValue(ctx, kubernetes.AuthorizationHeader, r.Header.Get(kubernetes.AuthorizationHeader))
113
- return context .WithValue (ctx , kubernetes .AuthorizationBearerTokenHeader , r .Header .Get (kubernetes .AuthorizationBearerTokenHeader ))
112
+ return context .WithValue (ctx , kubernetes .AuthorizationHeader , r .Header .Get (kubernetes .AuthorizationHeader ))
114
113
}
Original file line number Diff line number Diff line change @@ -96,7 +96,7 @@ func TestSseHeaders(t *testing.T) {
96
96
defer mockServer .Close ()
97
97
before := func (c * mcpContext ) {
98
98
c .withKubeConfig (mockServer .config )
99
- c .clientOptions = append (c .clientOptions , client .WithHeaders (map [string ]string {"kubernetes-authorization-bearer-token " : "a-token-from-mcp-client" }))
99
+ c .clientOptions = append (c .clientOptions , client .WithHeaders (map [string ]string {"kubernetes-authorization" : "Bearer a-token-from-mcp-client" }))
100
100
}
101
101
pathHeaders := make (map [string ]http.Header , 0 )
102
102
mockServer .Handle (http .HandlerFunc (func (w http.ResponseWriter , req * http.Request ) {
You can’t perform that action at this time.
0 commit comments