diff --git a/src/common/k8s-api/json-api.ts b/src/common/k8s-api/json-api.ts index e4940f3ddf..bb734b12ae 100644 --- a/src/common/k8s-api/json-api.ts +++ b/src/common/k8s-api/json-api.ts @@ -75,7 +75,7 @@ export class JsonApi { public onData = new EventEmitter<[D, Response]>(); public onError = new EventEmitter<[JsonApiErrorParsed, Response]>(); - private getRequestOptions?: () => Promise; + private getRequestOptions?: JsonApiConfig["getRequestOptions"]; get(path: string, params?: P, reqInit: RequestInit = {}) { return this.request(path, params, { ...reqInit, method: "get" }); diff --git a/src/common/k8s-api/kube-api.ts b/src/common/k8s-api/kube-api.ts index 4dfec71ce1..7e29500689 100644 --- a/src/common/k8s-api/kube-api.ts +++ b/src/common/k8s-api/kube-api.ts @@ -135,13 +135,6 @@ export function forCluster(cluster: ILocalKubeApiConfig, k export function forRemoteCluster(config: IRemoteKubeApiConfig, kubeClass: KubeObjectConstructor): KubeApi { const reqInit: RequestInit = {}; - const token = config.user.token; - - if (token && !isFunction(token)) { - reqInit.headers = { - "Authorization": `Bearer ${token}` - }; - } const agentOptions: AgentOptions = {}; @@ -165,14 +158,15 @@ export function forRemoteCluster(config: IRemoteKubeApiCon reqInit.agent = new Agent(agentOptions); } + const token = config.user.token; const request = new KubeJsonApi({ serverAddress: config.cluster.server, apiBase: "", debug: isDevelopment, - ...(isFunction(token) ? { + ...(token ? { getRequestOptions: async () => ({ headers: { - "Authorization": `Bearer ${await token()}` + "Authorization": `Bearer ${isFunction(token) ? await token() : token}` } }) } : {})