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