Merge pull request #19903 from jamieklassen/clusterdetails-relax-auth-type
Configurable Kubernetes Authentication Strategies
This commit is contained in:
@@ -42,6 +42,7 @@
|
||||
"@backstage/plugin-catalog-react": "workspace:^",
|
||||
"@backstage/plugin-kubernetes-common": "workspace:^",
|
||||
"@backstage/theme": "workspace:^",
|
||||
"@backstage/types": "workspace:^",
|
||||
"@kubernetes-models/apimachinery": "^1.1.0",
|
||||
"@kubernetes-models/base": "^4.0.1",
|
||||
"@kubernetes/client-node": "0.18.1",
|
||||
|
||||
@@ -74,7 +74,7 @@ describe('KubernetesAuthProviders tests', () => {
|
||||
requestBody,
|
||||
);
|
||||
|
||||
expect(details.auth?.oidc?.okta).toBe('oktaToken');
|
||||
expect(details).toMatchObject({ auth: { oidc: { okta: 'oktaToken' } } });
|
||||
});
|
||||
|
||||
it('returns error for unknown authProvider', async () => {
|
||||
|
||||
@@ -14,9 +14,10 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { KubernetesAuthProvider } from './types';
|
||||
import { JsonObject } from '@backstage/types';
|
||||
import { KubernetesRequestBody } from '@backstage/plugin-kubernetes-common';
|
||||
import { OpenIdConnectApi } from '@backstage/core-plugin-api';
|
||||
import { KubernetesAuthProvider } from './types';
|
||||
|
||||
export class OidcKubernetesAuthProvider implements KubernetesAuthProvider {
|
||||
providerName: string;
|
||||
@@ -31,9 +32,9 @@ export class OidcKubernetesAuthProvider implements KubernetesAuthProvider {
|
||||
requestBody: KubernetesRequestBody,
|
||||
): Promise<KubernetesRequestBody> {
|
||||
const authToken: string = (await this.getCredentials()).token;
|
||||
const auth = { ...requestBody.auth };
|
||||
const auth = { ...(requestBody.auth as JsonObject) };
|
||||
if (auth.oidc) {
|
||||
auth.oidc[this.providerName] = authToken;
|
||||
(auth.oidc as JsonObject)[this.providerName] = authToken;
|
||||
} else {
|
||||
auth.oidc = { [this.providerName]: authToken };
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user