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 (
1919 clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
2020 "k8s.io/klog/v2"
2121 "sigs.k8s.io/yaml"
22+ "strings"
2223)
2324
2425const (
25- AuthorizationHeader = "Kubernetes-Authorization"
26- AuthorizationBearerTokenHeader = "kubernetes-authorization-bearer-token"
26+ AuthorizationHeader = "kubernetes-authorization"
2727)
2828
2929type CloseWatchKubeConfig func () error
@@ -125,13 +125,13 @@ func (k *Kubernetes) ToRESTMapper() (meta.RESTMapper, error) {
125125}
126126
127127func (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 " ) {
130130 return k
131131 }
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 )
133133 derivedCfg := rest .CopyConfig (k .cfg )
134- derivedCfg .BearerToken = bearerToken
134+ derivedCfg .BearerToken = strings . TrimPrefix ( authorization , "Bearer " )
135135 derivedCfg .BearerTokenFile = ""
136136 derivedCfg .Username = ""
137137 derivedCfg .Password = ""
Original file line number Diff line number Diff line change @@ -109,6 +109,5 @@ func NewTextResult(content string, err error) *mcp.CallToolResult {
109109}
110110
111111func 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 ))
114113}
Original file line number Diff line number Diff line change @@ -96,7 +96,7 @@ func TestSseHeaders(t *testing.T) {
9696 defer mockServer .Close ()
9797 before := func (c * mcpContext ) {
9898 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" }))
100100 }
101101 pathHeaders := make (map [string ]http.Header , 0 )
102102 mockServer .Handle (http .HandlerFunc (func (w http.ResponseWriter , req * http.Request ) {
You can’t perform that action at this time.
0 commit comments