Revert "CEC-2977 Filter portal access based on auth provider (#231)"

This reverts commit f2f046968e.
This commit is contained in:
jwu-fisker
2022-11-08 16:49:10 -08:00
parent f2f046968e
commit 33bfc4fb13
76 changed files with 912 additions and 1316 deletions

View File

@@ -6,12 +6,16 @@ export const Roles = {
DELETE: "8f78dce7-f5f9-4033-a10c-c9c7408bfcfe",
CERTIFICATES: "746f34b0-9ba0-4b5d-8d84-0256a9c8e390",
APPROVESUPPLIERS: "a6c9805e-80b2-42b2-bfbb-9df52e5504d8",
MAGNAGROUP: process.env.REACT_APP_MAGNA_GROUP_ID,
};
export const Providers = {
FISKER: "Fisker",
MAGNA: process.env.REACT_APP_MAGNA_PROVIDER,
export const hasRoleToken = (roles, token) => {
if (!roles || roles.length === 0) return true;
const groups = getGroups(token);
if (!groups) return false;
return hasRole(roles, groups);
};
export const getGroups = (token) => {
@@ -22,54 +26,13 @@ export const getGroups = (token) => {
return payload["custom:groups"];
};
export const getProviders = (token) => {
const payload = parsePayload(token);
export const hasRole = (roles, groups) => {
if (!roles || roles.length === 0) return true;
if (!groups) return false;
if (!payload || !payload["identities"] || payload["identities"].length === 0)
return null;
return payload["identities"].map((identity) => identity["providerName"]);
};
export const hasRole = (userGroups, rolesPerProvider, userProviders) => {
if (!rolesPerProvider || rolesPerProvider.length === 0) return true;
if (!userGroups || userGroups.length === 0) return false;
if (rolesPerProvider && userProviders) {
for (const provider of userProviders) {
if (rolesPerProvider[provider]) {
const rolesForProvider = rolesPerProvider[provider];
if (!rolesForProvider || rolesForProvider.length === 0) return true;
if (
rolesForProvider.filter((role) => userGroups.includes(role)).length >
0
) {
return true;
}
}
}
for (let role of roles) {
if (groups.indexOf(role) > -1) return true;
}
return false;
};
export const Permissions = {
FiskerRead: { [Providers.FISKER]: [Roles.CREATE, Roles.READ] },
FiskerCreate: { [Providers.FISKER]: [Roles.CREATE] },
FiskerDelete: { [Providers.FISKER]: [Roles.DELETE] },
FiskerSupplierAdmin: { [Providers.FISKER]: [Roles.APPROVESUPPLIERS] },
FiskerCertificate: { [Providers.FISKER]: [Roles.CERTIFICATES] },
FiskerTools: {
[Providers.FISKER]: [Roles.APPROVESUPPLIERS, Roles.CERTIFICATES],
},
Magna: { [Providers.MAGNA]: [Roles.MAGNAGROUP] },
FiskerMagnaRead: {
[Providers.FISKER]: [Roles.CREATE, Roles.READ],
[Providers.MAGNA]: [Roles.MAGNAGROUP],
},
FiskerMagnaCreate: {
[Providers.FISKER]: [Roles.CREATE],
[Providers.MAGNA]: [Roles.MAGNAGROUP],
},
};