@platform-mesh/portal-server-lib 0.7.1 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -53,9 +53,10 @@ let PMAuthConfigProvider = class PMAuthConfigProvider {
53
53
  plural: 'identityproviderconfigurations',
54
54
  name: orgName,
55
55
  };
56
+ const workspacePath = orgName === 'welcome' ? 'root:platform-mesh-system' : 'root:orgs';
56
57
  const result = await this.kcpKubernetesService.listClusterCustomObject(k8sResourceDescriptor, {
57
58
  organization: orgName,
58
- }, orgName === 'welcome' ? 'root:platform-mesh-system' : undefined);
59
+ }, workspacePath);
59
60
  return {
60
61
  clientId: result.status.managedClients[orgName].clientId,
61
62
  secretRefName: result.status.managedClients[orgName].secretRef.name,
@@ -1 +1 @@
1
- {"version":3,"file":"auth-config-provider.js","sourceRoot":"","sources":["../../src/portal-options/auth-config-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-config-provider.js","sourceRoot":"","sources":["../../src/portal-options/auth-config-provider.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platform-mesh/portal-server-lib",
3
- "version": "0.7.1",
3
+ "version": "0.8.1",
4
4
  "author": "Platform Mesh",
5
5
  "license": "Apache-2.0",
6
6
  "publishConfig": {
@@ -102,6 +102,19 @@ describe('PMAuthConfigProvider', () => {
102
102
  oidcIssuerUrl: 'https://auth.example.com',
103
103
  endSessionUrl: 'https://auth.example.com/logout',
104
104
  });
105
+ expect(kcpKubernetesService.listClusterCustomObject).toHaveBeenCalledWith(
106
+ {
107
+ group: 'core.platform-mesh.io',
108
+ version: 'v1alpha1',
109
+ plural: 'identityproviderconfigurations',
110
+ name: 'org1',
111
+ },
112
+ { organization: 'org1' },
113
+ 'root:orgs',
114
+ );
115
+ expect(kcpKubernetesService.getClientSecret).toHaveBeenCalledWith(
116
+ 'secret-org1',
117
+ );
105
118
  });
106
119
 
107
120
  it('should handle welcome organization', async () => {
@@ -111,21 +124,21 @@ describe('PMAuthConfigProvider', () => {
111
124
  status: {
112
125
  managedClients: {
113
126
  welcome: {
114
- clientId: 'welcome',
115
- secretRef: { name: 'secret-org1-welcome', namespace: 'default' },
127
+ clientId: 'client-welcome',
128
+ secretRef: { name: 'secret-welcome', namespace: 'default' },
116
129
  },
117
130
  },
118
131
  },
119
- } as IdentityProviderConfiguration;
132
+ };
120
133
  kcpKubernetesService.listClusterCustomObject.mockResolvedValue(
121
134
  mockIdpConfig,
122
135
  );
123
- kcpKubernetesService.getClientSecret.mockResolvedValue('secret-org1');
136
+ kcpKubernetesService.getClientSecret.mockResolvedValue('secret-welcome');
124
137
 
125
138
  const result = await provider.getAuthConfig(mockRequest);
126
139
 
127
- expect(result.clientId).toBe('welcome');
128
- expect(result.clientSecret).toBe('secret-org1');
140
+ expect(result.clientId).toBe('client-welcome');
141
+ expect(result.clientSecret).toBe('secret-welcome');
129
142
  expect(kcpKubernetesService.listClusterCustomObject).toHaveBeenCalledWith(
130
143
  {
131
144
  group: 'core.platform-mesh.io',
@@ -136,6 +149,9 @@ describe('PMAuthConfigProvider', () => {
136
149
  { organization: 'welcome' },
137
150
  'root:platform-mesh-system',
138
151
  );
152
+ expect(kcpKubernetesService.getClientSecret).toHaveBeenCalledWith(
153
+ 'secret-welcome',
154
+ );
139
155
  });
140
156
 
141
157
  it('should fall back to default auth URLs when OIDC discovery fails', async () => {
@@ -395,7 +411,7 @@ describe('PMAuthConfigProvider', () => {
395
411
  {
396
412
  organization: 'org1',
397
413
  },
398
- undefined,
414
+ 'root:orgs',
399
415
  );
400
416
  });
401
417
 
@@ -70,13 +70,18 @@ export class PMAuthConfigProvider implements AuthConfigService {
70
70
  name: orgName,
71
71
  };
72
72
 
73
+ // IDP resources for 'welcome' are in root:platform-mesh-system,
74
+ // for regular orgs they are in root:orgs
75
+ const workspacePath =
76
+ orgName === 'welcome' ? 'root:platform-mesh-system' : 'root:orgs';
77
+
73
78
  const result: IdentityProviderConfiguration =
74
79
  await this.kcpKubernetesService.listClusterCustomObject(
75
80
  k8sResourceDescriptor,
76
81
  {
77
82
  organization: orgName,
78
83
  },
79
- orgName === 'welcome' ? 'root:platform-mesh-system' : undefined,
84
+ workspacePath,
80
85
  );
81
86
 
82
87
  return {