Skip to content

Commit 9fef1f3

Browse files
committed
fixes
1 parent 298e433 commit 9fef1f3

File tree

4 files changed

+18
-25
lines changed

4 files changed

+18
-25
lines changed

public/locales/en.json

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -512,12 +512,7 @@
512512
"authorization": {
513513
"accessDenied": {
514514
"title": "Access Denied",
515-
"details": "You must be a member to access this Managed Control Plane. Please contact {{createdBy}} to request access.",
516-
"administrator": "an administrator"
517-
},
518-
"customIdp": {
519-
"title": "Access Denied",
520-
"details": "non-default Identity Providers are not supported yet"
515+
"details": "You are not authorized to see this Managed Control Plane."
521516
},
522517
"backToWorkspaces": "Back to Workspaces"
523518
}

src/components/Projects/ProjectsList.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import { t } from 'i18next';
1212
import { YamlViewButton } from '../Yaml/YamlViewButton.tsx';
1313
import { useMemo } from 'react';
1414
import { ProjectsListItemMenu } from './ProjectsListItemMenu.tsx';
15+
import { CRDRequest } from '../../lib/api/types/crossplane/CRDList.ts';
1516

1617
type ProjectListRow = {
1718
projectName: string;
@@ -23,6 +24,11 @@ export default function ProjectsList() {
2324
const { data, error } = useApiResource(ListProjectNames, {
2425
refreshInterval: 3000,
2526
});
27+
const { error: crdError, data: crdData } = useApiResource(CRDRequest, undefined);
28+
console.log('crdError projects');
29+
console.log(crdError);
30+
console.log('crdData projects');
31+
console.log(crdData);
2632
const stabilizedData = useMemo<ProjectListRow[]>(
2733
() =>
2834
data?.map((projectName) => {

src/lib/shared/McpContext.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { useApiResource } from '../api/useApiResource.ts';
55
import { GetKubeconfig } from '../api/types/crate/getKubeconfig.ts';
66
import { useAuthMcp } from '../../spaces/mcp/auth/AuthContextMcp.tsx';
77
import { BusyIndicator } from '@ui5/webcomponents-react';
8+
import { CRDRequest } from '../api/types/crossplane/CRDList.ts';
89

910
interface Mcp {
1011
project: string;

src/spaces/mcp/authorization/ManagedControlPlaneAuthorization.tsx

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ import { generatePath, useNavigate, useParams } from 'react-router-dom';
99
import { Routes } from '../../../Routes.ts';
1010

1111
import { Center } from '../../../components/Ui/Center/Center.tsx';
12+
import { CRDRequest } from '../../../lib/api/types/crossplane/CRDList.ts';
13+
import { useApiResource } from '../../../lib/api/useApiResource.ts';
1214

1315
export interface ManagedControlPlaneAuthorizationProps {
1416
mcp: ControlPlaneType;
@@ -27,30 +29,19 @@ export const ManagedControlPlaneAuthorization = ({ children, mcp }: ManagedContr
2729
);
2830
}
2931
};
30-
const createdBy =
31-
mcp?.metadata?.annotations?.['openmcp.cloud/created-by']?.split(':')[1] ||
32-
t('mcp.authorization.accessDenied.administrator');
33-
const isSystemIdentityProviderEnabled = Boolean(mcp.spec?.authentication?.enableSystemIdentityProvider);
34-
const { isMcpMember } = useGetMcpUserRights();
35-
if (!isSystemIdentityProviderEnabled)
36-
return (
37-
<Center>
38-
<IllustratedError
39-
title={t('mcp.authorization.customIdp.title')}
40-
details={t('mcp.authorization.customIdp.details')}
41-
/>
42-
<Button design={'Default'} icon={'navigation-left-arrow'} onClick={onBack}>
43-
{t('mcp.authorization.backToWorkspaces')}
44-
</Button>
45-
</Center>
46-
);
4732

48-
if (!isMcpMember)
33+
const { error: crdError, data: crdData } = useApiResource(CRDRequest);
34+
console.log('crdError:');
35+
console.log(crdError?.status);
36+
console.log('crdData:');
37+
console.log(crdData);
38+
const isUserNotAuthorized = crdError?.status === 403 || crdError?.status === 401;
39+
if (isUserNotAuthorized)
4940
return (
5041
<Center>
5142
<IllustratedError
5243
title={t('mcp.authorization.accessDenied.title')}
53-
details={t('mcp.authorization.accessDenied.details', { createdBy })}
44+
details={t('mcp.authorization.accessDenied.details')}
5445
/>
5546
<Button design={'Default'} icon={'navigation-left-arrow'} onClick={onBack}>
5647
{t('mcp.authorization.backToWorkspaces')}

0 commit comments

Comments
 (0)