@platform-mesh/portal-server-lib 0.7.1 → 0.8.0
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
|
-
},
|
|
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":";;;;;;;;;AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAEL,gBAAgB,GAEjB,MAAM,4BAA4B,CAAC;AAI7B,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAErB;IACA;IAFV,YACU,gBAAkC,EAClC,oBAA0C;QAD1C,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,yBAAoB,GAApB,oBAAoB,CAAsB;IACjD,CAAC;IAEJ,KAAK,CAAC,aAAa,CAAC,OAAgB;QAClC,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QAErC,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,YAAY,GAChB,MAAM,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QAEjE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,cAAc,GAClB,IAAI,EAAE,sBAAsB,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACzE,MAAM,aAAa,GACjB,IAAI,EAAE,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAE3D,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;YACpE,MAAM,eAAe,GAAG,CAAC,CAAC,YAAY,CAAC;YACvC,MAAM,IAAI,aAAa,CACrB;gBACE,OAAO,EAAE,wCAAwC;gBACjD,KAAK,EAAE,qDAAqD,cAAc,qBAAqB,aAAa,gBAAgB,QAAQ,yBAAyB,MAAM,CACjK,eAAe,CAChB,EAAE;gBACH,UAAU,EAAE,UAAU,CAAC,SAAS;aACjC,EACD,UAAU,CAAC,SAAS,CACrB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,GAAG;YACZ,UAAU;YACV,QAAQ;YACR,YAAY;YACZ,cAAc;YACd,aAAa;YACb,aAAa,EAAE,IAAI,EAAE,MAAM;YAC3B,aAAa,EAAE,IAAI,EAAE,oBAAoB;SAC1C,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,OAAe;QAEf,MAAM,qBAAqB,GAA0B;YACnD,KAAK,EAAE,uBAAuB;YAC9B,OAAO,EAAE,UAAU;YACnB,MAAM,EAAE,gCAAgC;YACxC,IAAI,EAAE,OAAO;SACd,CAAC;
|
|
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
|
@@ -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-
|
|
127
|
+
clientId: 'client-welcome',
|
|
128
|
+
secretRef: { name: 'secret-welcome', namespace: 'default' },
|
|
116
129
|
},
|
|
117
130
|
},
|
|
118
131
|
},
|
|
119
|
-
}
|
|
132
|
+
};
|
|
120
133
|
kcpKubernetesService.listClusterCustomObject.mockResolvedValue(
|
|
121
134
|
mockIdpConfig,
|
|
122
135
|
);
|
|
123
|
-
kcpKubernetesService.getClientSecret.mockResolvedValue('secret-
|
|
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-
|
|
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
|
-
|
|
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
|
-
|
|
84
|
+
workspacePath,
|
|
80
85
|
);
|
|
81
86
|
|
|
82
87
|
return {
|