From e45585a9096589ba8aadd6732e72157d202fb7fd Mon Sep 17 00:00:00 2001 From: Alfonso Hernandez Date: Fri, 19 Jul 2024 03:15:38 +0200 Subject: [PATCH 1/7] feat(backend): Adding accessType on secret sharing --- ...0240718170955_add-access-secret-sharing.ts | 23 +++++++++++++ backend/src/db/schemas/secret-sharing.ts | 3 ++ backend/src/lib/types/index.ts | 5 +++ backend/src/server/routes/index.ts | 3 +- .../server/routes/v1/secret-sharing-router.ts | 27 ++++++++++----- .../secret-sharing/secret-sharing-service.ts | 34 +++++++++++++++---- .../secret-sharing/secret-sharing-types.ts | 4 +++ 7 files changed, 84 insertions(+), 15 deletions(-) create mode 100644 backend/src/db/migrations/20240718170955_add-access-secret-sharing.ts diff --git a/backend/src/db/migrations/20240718170955_add-access-secret-sharing.ts b/backend/src/db/migrations/20240718170955_add-access-secret-sharing.ts new file mode 100644 index 0000000000..eb053cf806 --- /dev/null +++ b/backend/src/db/migrations/20240718170955_add-access-secret-sharing.ts @@ -0,0 +1,23 @@ +import { Knex } from "knex"; + +import { SecretSharingAccessType } from "@app/lib/types"; + +import { TableName } from "../schemas"; + +export async function up(knex: Knex): Promise { + const hasColumn = await knex.schema.hasColumn(TableName.SecretSharing, "accessType"); + if (!hasColumn) { + await knex.schema.table(TableName.SecretSharing, (table) => { + table.string("accessType", 20).notNullable().defaultTo(SecretSharingAccessType.Anyone); + }); + } +} + +export async function down(knex: Knex): Promise { + const hasColumn = await knex.schema.hasColumn(TableName.SecretSharing, "accessType"); + if (hasColumn) { + await knex.schema.table(TableName.SecretSharing, (table) => { + table.dropColumn("accessType"); + }); + } +} diff --git a/backend/src/db/schemas/secret-sharing.ts b/backend/src/db/schemas/secret-sharing.ts index c8d938861e..4406ad493f 100644 --- a/backend/src/db/schemas/secret-sharing.ts +++ b/backend/src/db/schemas/secret-sharing.ts @@ -5,6 +5,8 @@ import { z } from "zod"; +import { SecretSharingAccessType } from "@app/lib/types"; + import { TImmutableDBKeys } from "./models"; export const SecretSharingSchema = z.object({ @@ -16,6 +18,7 @@ export const SecretSharingSchema = z.object({ expiresAt: z.date(), userId: z.string().uuid().nullable().optional(), orgId: z.string().uuid().nullable().optional(), + accessType: z.nativeEnum(SecretSharingAccessType).default(SecretSharingAccessType.Organization), createdAt: z.date(), updatedAt: z.date(), expiresAfterViews: z.number().nullable().optional() diff --git a/backend/src/lib/types/index.ts b/backend/src/lib/types/index.ts index 382762aaaa..4d892b02c5 100644 --- a/backend/src/lib/types/index.ts +++ b/backend/src/lib/types/index.ts @@ -47,3 +47,8 @@ export enum EnforcementLevel { Hard = "hard", Soft = "soft" } + +export enum SecretSharingAccessType { + Anyone = "anyone", + Organization = "organization" +} diff --git a/backend/src/server/routes/index.ts b/backend/src/server/routes/index.ts index a0df46dc5f..3424e7134a 100644 --- a/backend/src/server/routes/index.ts +++ b/backend/src/server/routes/index.ts @@ -737,7 +737,8 @@ export const registerRoutes = async ( const secretSharingService = secretSharingServiceFactory({ permissionService, - secretSharingDAL + secretSharingDAL, + orgDAL }); const secretApprovalRequestService = secretApprovalRequestServiceFactory({ diff --git a/backend/src/server/routes/v1/secret-sharing-router.ts b/backend/src/server/routes/v1/secret-sharing-router.ts index 4ec2737fb4..9e5fe1f792 100644 --- a/backend/src/server/routes/v1/secret-sharing-router.ts +++ b/backend/src/server/routes/v1/secret-sharing-router.ts @@ -1,6 +1,7 @@ import { z } from "zod"; import { SecretSharingSchema } from "@app/db/schemas"; +import { SecretSharingAccessType } from "@app/lib/types"; import { publicEndpointLimit, publicSecretShareCreationLimit, @@ -55,14 +56,18 @@ export const registerSecretSharingRouter = async (server: FastifyZodProvider) => iv: true, tag: true, expiresAt: true, - expiresAfterViews: true + expiresAfterViews: true, + accessType: true + }).extend({ + orgName: z.string().optional() }) } }, handler: async (req) => { const sharedSecret = await req.server.services.secretSharing.getActiveSharedSecretByIdAndHashedHex( req.params.id, - req.query.hashedHex + req.query.hashedHex, + req.permission?.orgId ); if (!sharedSecret) return undefined; return { @@ -70,7 +75,9 @@ export const registerSecretSharingRouter = async (server: FastifyZodProvider) => iv: sharedSecret.iv, tag: sharedSecret.tag, expiresAt: sharedSecret.expiresAt, - expiresAfterViews: sharedSecret.expiresAfterViews + expiresAfterViews: sharedSecret.expiresAfterViews, + accessType: sharedSecret.accessType, + orgName: sharedSecret.orgName }; } }); @@ -88,7 +95,8 @@ export const registerSecretSharingRouter = async (server: FastifyZodProvider) => tag: z.string(), hashedHex: z.string(), expiresAt: z.string(), - expiresAfterViews: z.number() + expiresAfterViews: z.number(), + accessType: z.nativeEnum(SecretSharingAccessType).default(SecretSharingAccessType.Organization) }), response: { 200: z.object({ @@ -97,14 +105,15 @@ export const registerSecretSharingRouter = async (server: FastifyZodProvider) => } }, handler: async (req) => { - const { encryptedValue, iv, tag, hashedHex, expiresAt, expiresAfterViews } = req.body; + const { encryptedValue, iv, tag, hashedHex, expiresAt, expiresAfterViews, accessType } = req.body; const sharedSecret = await req.server.services.secretSharing.createPublicSharedSecret({ encryptedValue, iv, tag, hashedHex, expiresAt: new Date(expiresAt), - expiresAfterViews + expiresAfterViews, + accessType }); return { id: sharedSecret.id }; } @@ -123,7 +132,8 @@ export const registerSecretSharingRouter = async (server: FastifyZodProvider) => tag: z.string(), hashedHex: z.string(), expiresAt: z.string(), - expiresAfterViews: z.number() + expiresAfterViews: z.number(), + accessType: z.nativeEnum(SecretSharingAccessType).default(SecretSharingAccessType.Organization) }), response: { 200: z.object({ @@ -145,7 +155,8 @@ export const registerSecretSharingRouter = async (server: FastifyZodProvider) => tag, hashedHex, expiresAt: new Date(expiresAt), - expiresAfterViews + expiresAfterViews, + accessType: req.body.accessType }); return { id: sharedSecret.id }; } diff --git a/backend/src/services/secret-sharing/secret-sharing-service.ts b/backend/src/services/secret-sharing/secret-sharing-service.ts index e40b4ef265..a4e95af492 100644 --- a/backend/src/services/secret-sharing/secret-sharing-service.ts +++ b/backend/src/services/secret-sharing/secret-sharing-service.ts @@ -1,6 +1,8 @@ import { TPermissionServiceFactory } from "@app/ee/services/permission/permission-service"; import { BadRequestError, UnauthorizedError } from "@app/lib/errors"; +import { SecretSharingAccessType } from "@app/lib/types"; +import { TOrgDALFactory } from "../org/org-dal"; import { TSecretSharingDALFactory } from "./secret-sharing-dal"; import { TCreatePublicSharedSecretDTO, @@ -12,13 +14,15 @@ import { type TSecretSharingServiceFactoryDep = { permissionService: Pick; secretSharingDAL: TSecretSharingDALFactory; + orgDAL: TOrgDALFactory; }; export type TSecretSharingServiceFactory = ReturnType; export const secretSharingServiceFactory = ({ permissionService, - secretSharingDAL + secretSharingDAL, + orgDAL }: TSecretSharingServiceFactoryDep) => { const createSharedSecret = async (createSharedSecretInput: TCreateSharedSecretDTO) => { const { @@ -30,6 +34,7 @@ export const secretSharingServiceFactory = ({ encryptedValue, iv, tag, + accessType, hashedHex, expiresAt, expiresAfterViews @@ -62,13 +67,14 @@ export const secretSharingServiceFactory = ({ expiresAt, expiresAfterViews, userId: actorId, - orgId + orgId, + accessType }); return { id: newSharedSecret.id }; }; const createPublicSharedSecret = async (createSharedSecretInput: TCreatePublicSharedSecretDTO) => { - const { encryptedValue, iv, tag, hashedHex, expiresAt, expiresAfterViews } = createSharedSecretInput; + const { encryptedValue, iv, tag, hashedHex, expiresAt, expiresAfterViews, accessType } = createSharedSecretInput; if (new Date(expiresAt) < new Date()) { throw new BadRequestError({ message: "Expiration date cannot be in the past" }); } @@ -92,7 +98,8 @@ export const secretSharingServiceFactory = ({ tag, hashedHex, expiresAt, - expiresAfterViews + expiresAfterViews, + accessType }); return { id: newSharedSecret.id }; }; @@ -105,9 +112,21 @@ export const secretSharingServiceFactory = ({ return userSharedSecrets; }; - const getActiveSharedSecretByIdAndHashedHex = async (sharedSecretId: string, hashedHex: string) => { + const getActiveSharedSecretByIdAndHashedHex = async (sharedSecretId: string, hashedHex: string, orgId?: string) => { const sharedSecret = await secretSharingDAL.findOne({ id: sharedSecretId, hashedHex }); if (!sharedSecret) return; + + const orgName = sharedSecret.orgId ? (await orgDAL.findOrgById(sharedSecret.orgId))?.name : ""; + // Support organization level access for secret sharing + if (sharedSecret.accessType === SecretSharingAccessType.Organization && orgId !== sharedSecret.orgId) { + return { + ...sharedSecret, + encryptedValue: "", + iv: "", + tag: "", + orgName + }; + } if (sharedSecret.expiresAt && sharedSecret.expiresAt < new Date()) { return; } @@ -118,7 +137,10 @@ export const secretSharingServiceFactory = ({ } await secretSharingDAL.updateById(sharedSecretId, { $decr: { expiresAfterViews: 1 } }); } - return sharedSecret; + if (sharedSecret.accessType === SecretSharingAccessType.Organization) { + return { ...sharedSecret, orgName }; + } + return { ...sharedSecret, orgName: undefined }; }; const deleteSharedSecretById = async (deleteSharedSecretInput: TDeleteSharedSecretDTO) => { diff --git a/backend/src/services/secret-sharing/secret-sharing-types.ts b/backend/src/services/secret-sharing/secret-sharing-types.ts index 769bb44798..a9c7dcbd94 100644 --- a/backend/src/services/secret-sharing/secret-sharing-types.ts +++ b/backend/src/services/secret-sharing/secret-sharing-types.ts @@ -1,3 +1,5 @@ +import { SecretSharingAccessType } from "@app/lib/types"; + import { ActorAuthMethod, ActorType } from "../auth/auth-type"; export type TSharedSecretPermission = { @@ -6,6 +8,7 @@ export type TSharedSecretPermission = { actorAuthMethod: ActorAuthMethod; actorOrgId: string; orgId: string; + accessType?: SecretSharingAccessType; }; export type TCreatePublicSharedSecretDTO = { @@ -15,6 +18,7 @@ export type TCreatePublicSharedSecretDTO = { hashedHex: string; expiresAt: Date; expiresAfterViews: number; + accessType: SecretSharingAccessType; }; export type TCreateSharedSecretDTO = TSharedSecretPermission & TCreatePublicSharedSecretDTO; From eb82fc0d9ac21870781d93dd30664271c78ac83c Mon Sep 17 00:00:00 2001 From: Alfonso Hernandez Date: Fri, 19 Jul 2024 03:17:47 +0200 Subject: [PATCH 2/7] feat(frontend): Adding accessType on secret sharing --- .../components/v2/EmptyState/EmptyState.tsx | 2 +- .../src/hooks/api/secretSharing/queries.ts | 6 ++- frontend/src/hooks/api/secretSharing/types.ts | 8 ++++ .../components/AddShareSecretForm.tsx | 35 +++++++++++++---- .../ShareSecretPublicPage.tsx | 7 +++- .../components/SecretTable.tsx | 38 +++++++++++++++++-- 6 files changed, 80 insertions(+), 16 deletions(-) diff --git a/frontend/src/components/v2/EmptyState/EmptyState.tsx b/frontend/src/components/v2/EmptyState/EmptyState.tsx index e285500c1c..9816a3fe2c 100644 --- a/frontend/src/components/v2/EmptyState/EmptyState.tsx +++ b/frontend/src/components/v2/EmptyState/EmptyState.tsx @@ -21,7 +21,7 @@ export const EmptyState = ({ }: Props) => (
diff --git a/frontend/src/hooks/api/secretSharing/queries.ts b/frontend/src/hooks/api/secretSharing/queries.ts index 886b0a82ee..44b2c3193c 100644 --- a/frontend/src/hooks/api/secretSharing/queries.ts +++ b/frontend/src/hooks/api/secretSharing/queries.ts @@ -2,7 +2,7 @@ import { useQuery } from "@tanstack/react-query"; import { apiRequest } from "@app/config/request"; -import { TSharedSecret, TViewSharedSecretResponse } from "./types"; +import { SecretSharingAccessType, TSharedSecret, TViewSharedSecretResponse } from "./types"; export const useGetSharedSecrets = () => { return useQuery({ @@ -17,7 +17,7 @@ export const useGetSharedSecrets = () => { export const useGetActiveSharedSecretByIdAndHashedHex = (id: string, hashedHex: string) => { return useQuery({ queryFn: async () => { - if(!id || !hashedHex) return Promise.resolve({ encryptedValue: "", iv: "", tag: "" }); + if(!id || !hashedHex) return Promise.resolve({ encryptedValue: "", iv: "", tag: "", accessType: SecretSharingAccessType.Organization, orgName: "" }); const { data } = await apiRequest.get( `/api/v1/secret-sharing/public/${id}?hashedHex=${hashedHex}` ); @@ -25,6 +25,8 @@ export const useGetActiveSharedSecretByIdAndHashedHex = (id: string, hashedHex: encryptedValue: data.encryptedValue, iv: data.iv, tag: data.tag, + accessType: data.accessType, + orgName: data.orgName }; } }); diff --git a/frontend/src/hooks/api/secretSharing/types.ts b/frontend/src/hooks/api/secretSharing/types.ts index 424e3525c7..69c0d9a650 100644 --- a/frontend/src/hooks/api/secretSharing/types.ts +++ b/frontend/src/hooks/api/secretSharing/types.ts @@ -13,14 +13,22 @@ export type TCreateSharedSecretRequest = { hashedHex: string; expiresAt: Date; expiresAfterViews: number; + accessType: SecretSharingAccessType; }; export type TViewSharedSecretResponse = { encryptedValue: string; iv: string; tag: string; + accessType: SecretSharingAccessType; + orgName?: string; }; export type TDeleteSharedSecretRequest = { sharedSecretId: string; }; + +export enum SecretSharingAccessType { + Anyone = "anyone", + Organization = "organization" +} \ No newline at end of file diff --git a/frontend/src/views/ShareSecretPage/components/AddShareSecretForm.tsx b/frontend/src/views/ShareSecretPage/components/AddShareSecretForm.tsx index 4e950dc3f9..bbc896460d 100644 --- a/frontend/src/views/ShareSecretPage/components/AddShareSecretForm.tsx +++ b/frontend/src/views/ShareSecretPage/components/AddShareSecretForm.tsx @@ -7,13 +7,14 @@ import * as yup from "yup"; import { createNotification } from "@app/components/notifications"; import { encryptSymmetric } from "@app/components/utilities/cryptography/crypto"; import { Button, Checkbox, FormControl, Input, ModalClose, Select, SelectItem } from "@app/components/v2"; -import { useCreatePublicSharedSecret, useCreateSharedSecret } from "@app/hooks/api/secretSharing"; +import { SecretSharingAccessType, useCreatePublicSharedSecret, useCreateSharedSecret } from "@app/hooks/api/secretSharing"; const schema = yup.object({ value: yup.string().max(10000).required().label("Shared Secret Value"), expiresAfterSingleView: yup.boolean().required().label("Expires After Views"), expiresInValue: yup.number().min(1).required().label("Expiration Value"), - expiresInUnit: yup.string().required().label("Expiration Unit") + expiresInUnit: yup.string().required().label("Expiration Unit"), + accessType: yup.string().required().label("General Access") }); export type FormData = yup.InferType; @@ -65,7 +66,8 @@ export const AddShareSecretForm = ({ value, expiresInValue, expiresInUnit, - expiresAfterSingleView + expiresAfterSingleView, + accessType }: FormData) => { try { const key = crypto.randomBytes(16).toString("hex"); @@ -89,7 +91,8 @@ export const AddShareSecretForm = ({ tag, hashedHex, expiresAt, - expiresAfterViews: expiresAfterSingleView ? 1 : 1000 + expiresAfterViews: expiresAfterSingleView ? 1 : 1000, + accessType: accessType as SecretSharingAccessType }); setNewSharedSecret( `${window.location.origin}/shared/secret/${id}?key=${encodeURIComponent( @@ -143,7 +146,7 @@ export const AddShareSecretForm = ({ )} />
-
+
@@ -188,8 +191,8 @@ export const AddShareSecretForm = ({
-
-

AND

+
+

AND

-
+ ( + + + + )} + /> +
diff --git a/frontend/src/views/ShareSecretPublicPage/ShareSecretPublicPage.tsx b/frontend/src/views/ShareSecretPublicPage/ShareSecretPublicPage.tsx index 2f468e2b9c..bff1903891 100644 --- a/frontend/src/views/ShareSecretPublicPage/ShareSecretPublicPage.tsx +++ b/frontend/src/views/ShareSecretPublicPage/ShareSecretPublicPage.tsx @@ -20,12 +20,15 @@ export const ShareSecretPublicPage = ({ isNewSession }: { isNewSession: boolean const [hashedHex, key] = urlEncodedPublicKey ? urlEncodedPublicKey.toString().split("-") : ["", ""]; - + const publicKey = decodeURIComponent(urlEncodedPublicKey as string); const { isLoading, data } = useGetActiveSharedSecretByIdAndHashedHex( id as string, hashedHex as string ); + console.log(data); + const accessType = data?.accessType; + const orgName = data?.orgName; const decryptedSecret = useMemo(() => { if (data && data.encryptedValue && publicKey) { @@ -87,6 +90,8 @@ export const ShareSecretPublicPage = ({ isNewSession }: { isNewSession: boolean decryptedSecret={decryptedSecret} isUrlCopied={isUrlCopied} copyUrlToClipboard={copyUrlToClipboard} + accessType={accessType} + orgName={orgName} /> )}
diff --git a/frontend/src/views/ShareSecretPublicPage/components/SecretTable.tsx b/frontend/src/views/ShareSecretPublicPage/components/SecretTable.tsx index f33f958af9..ae5a4faae2 100644 --- a/frontend/src/views/ShareSecretPublicPage/components/SecretTable.tsx +++ b/frontend/src/views/ShareSecretPublicPage/components/SecretTable.tsx @@ -1,14 +1,17 @@ -import { faCheck, faCopy, faEye, faEyeSlash, faKey } from "@fortawesome/free-solid-svg-icons"; +import { faArrowRight, faCheck, faCopy, faEye, faEyeSlash, faKey } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { EmptyState, IconButton, Td, Tr } from "@app/components/v2"; +import { Button, EmptyState, IconButton, Td, Tr } from "@app/components/v2"; import { useToggle } from "@app/hooks"; +import { SecretSharingAccessType } from "@app/hooks/api/secretSharing/types"; type Props = { isLoading: boolean; decryptedSecret: string; isUrlCopied: boolean; copyUrlToClipboard: () => void; + accessType?: SecretSharingAccessType; + orgName?: string; }; const replaceContentWithDot = (str: string) => { @@ -24,20 +27,47 @@ export const SecretTable = ({ isLoading, decryptedSecret, isUrlCopied, - copyUrlToClipboard + copyUrlToClipboard, + accessType, + orgName }: Props) => { const [isVisible, setIsVisible] = useToggle(false); + const title = (

You need to be logged into {orgName} to access this secret

); return (
{isLoading &&
Loading...
} - {!isLoading && !decryptedSecret && ( + {!isLoading && !decryptedSecret && accessType !== SecretSharingAccessType.Organization && ( )} + {!isLoading && !decryptedSecret && accessType === SecretSharingAccessType.Organization && ( + + + + + + + + )} {!isLoading && decryptedSecret && (
Date: Fri, 19 Jul 2024 03:26:26 +0200 Subject: [PATCH 3/7] doc: Adding accessType on secret sharing --- .../documentation/platform/secret-sharing.mdx | 3 ++- .../secret-sharing/create-new-secret.png | Bin 109015 -> 40071 bytes 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/documentation/platform/secret-sharing.mdx b/docs/documentation/platform/secret-sharing.mdx index 9c08215083..4ff3a326b2 100644 --- a/docs/documentation/platform/secret-sharing.mdx +++ b/docs/documentation/platform/secret-sharing.mdx @@ -21,7 +21,8 @@ With its zero-knowledge architecture, secrets shared via Infisical remain unread zero knowledge architecture. -3. Click on the **Share Secret** button. Set the secret, its expiration time as well as the number of views allowed. It expires as soon as any of the conditions are met. +3. Click on the **Share Secret** button. Set the secret, its expiration time and specify if the secret can be viewed only once. It expires as soon as any of the conditions are met. +Also, specify if the secret can be accessed by anyone or only people within your organization. ![Add View-Bound Sharing Secret](../../images/platform/secret-sharing/create-new-secret.png) diff --git a/docs/images/platform/secret-sharing/create-new-secret.png b/docs/images/platform/secret-sharing/create-new-secret.png index 335fca2b258ee687bd4349c69afb5aa05edf2e87..03a34e19dfce48df58a0dbaab104f3c2f3f964a3 100644 GIT binary patch literal 40071 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 aY&b>8Q! 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 F{|kb{dOiRE From 774017adbe3d2109f8126bda04fd275a09b8bd17 Mon Sep 17 00:00:00 2001 From: Alfonso Hernandez Date: Fri, 19 Jul 2024 03:32:46 +0200 Subject: [PATCH 4/7] style: remove logs --- .../src/views/ShareSecretPublicPage/ShareSecretPublicPage.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/frontend/src/views/ShareSecretPublicPage/ShareSecretPublicPage.tsx b/frontend/src/views/ShareSecretPublicPage/ShareSecretPublicPage.tsx index bff1903891..297c20bf8c 100644 --- a/frontend/src/views/ShareSecretPublicPage/ShareSecretPublicPage.tsx +++ b/frontend/src/views/ShareSecretPublicPage/ShareSecretPublicPage.tsx @@ -26,7 +26,6 @@ export const ShareSecretPublicPage = ({ isNewSession }: { isNewSession: boolean id as string, hashedHex as string ); - console.log(data); const accessType = data?.accessType; const orgName = data?.orgName; From 2f2c9d4508b37acb32b1db476d23b88a3fbde71c Mon Sep 17 00:00:00 2001 From: Alfonso Hernandez Date: Fri, 19 Jul 2024 03:36:24 +0200 Subject: [PATCH 5/7] style: message structure on SecretTable --- .../src/views/ShareSecretPublicPage/components/SecretTable.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/views/ShareSecretPublicPage/components/SecretTable.tsx b/frontend/src/views/ShareSecretPublicPage/components/SecretTable.tsx index ae5a4faae2..60849b93bd 100644 --- a/frontend/src/views/ShareSecretPublicPage/components/SecretTable.tsx +++ b/frontend/src/views/ShareSecretPublicPage/components/SecretTable.tsx @@ -32,7 +32,7 @@ export const SecretTable = ({ orgName }: Props) => { const [isVisible, setIsVisible] = useToggle(false); - const title = (

You need to be logged into {orgName} to access this secret

); + const title = (

Someone from {orgName} organization has shared a secret with you

); return (
From 224368b172c704592861fa26d60af6e3cc7b882f Mon Sep 17 00:00:00 2001 From: Alfonso Hernandez Date: Fri, 19 Jul 2024 12:20:46 +0200 Subject: [PATCH 6/7] fix: general access accessible only from private creation --- .../server/routes/v1/secret-sharing-router.ts | 7 +- .../components/AddShareSecretForm.tsx | 67 +++++++++++-------- 2 files changed, 43 insertions(+), 31 deletions(-) diff --git a/backend/src/server/routes/v1/secret-sharing-router.ts b/backend/src/server/routes/v1/secret-sharing-router.ts index 9e5fe1f792..d5c6a98842 100644 --- a/backend/src/server/routes/v1/secret-sharing-router.ts +++ b/backend/src/server/routes/v1/secret-sharing-router.ts @@ -95,8 +95,7 @@ export const registerSecretSharingRouter = async (server: FastifyZodProvider) => tag: z.string(), hashedHex: z.string(), expiresAt: z.string(), - expiresAfterViews: z.number(), - accessType: z.nativeEnum(SecretSharingAccessType).default(SecretSharingAccessType.Organization) + expiresAfterViews: z.number() }), response: { 200: z.object({ @@ -105,7 +104,7 @@ export const registerSecretSharingRouter = async (server: FastifyZodProvider) => } }, handler: async (req) => { - const { encryptedValue, iv, tag, hashedHex, expiresAt, expiresAfterViews, accessType } = req.body; + const { encryptedValue, iv, tag, hashedHex, expiresAt, expiresAfterViews } = req.body; const sharedSecret = await req.server.services.secretSharing.createPublicSharedSecret({ encryptedValue, iv, @@ -113,7 +112,7 @@ export const registerSecretSharingRouter = async (server: FastifyZodProvider) => hashedHex, expiresAt: new Date(expiresAt), expiresAfterViews, - accessType + accessType: SecretSharingAccessType.Anyone }); return { id: sharedSecret.id }; } diff --git a/frontend/src/views/ShareSecretPage/components/AddShareSecretForm.tsx b/frontend/src/views/ShareSecretPage/components/AddShareSecretForm.tsx index bbc896460d..47da21693a 100644 --- a/frontend/src/views/ShareSecretPage/components/AddShareSecretForm.tsx +++ b/frontend/src/views/ShareSecretPage/components/AddShareSecretForm.tsx @@ -1,5 +1,6 @@ import crypto from "crypto"; +import { useEffect, useRef } from "react"; import { Controller } from "react-hook-form"; import { AxiosError } from "axios"; import * as yup from "yup"; @@ -36,6 +37,14 @@ export const AddShareSecretForm = ({ setNewSharedSecret: (value: string) => void; isInputDisabled?: boolean; }) => { + const isMounted = useRef(true); + + useEffect(() => { + return () => { + isMounted.current = false; + }; + }, []); + const publicSharedSecretCreator = useCreatePublicSharedSecret(); const privateSharedSecretCreator = useCreateSharedSecret(); const createSharedSecret = isPublic ? publicSharedSecretCreator : privateSharedSecretCreator; @@ -94,16 +103,18 @@ export const AddShareSecretForm = ({ expiresAfterViews: expiresAfterSingleView ? 1 : 1000, accessType: accessType as SecretSharingAccessType }); - setNewSharedSecret( - `${window.location.origin}/shared/secret/${id}?key=${encodeURIComponent( - hashedHex - )}-${encodeURIComponent(key)}` - ); - createNotification({ - text: "Successfully created a shared secret", - type: "success" - }); + if (isMounted.current) { + setNewSharedSecret( + `${window.location.origin}/shared/secret/${id}?key=${encodeURIComponent( + hashedHex + )}-${encodeURIComponent(key)}` + ); + createNotification({ + text: "Successfully created a shared secret", + type: "success" + }); + } } catch (err) { console.error(err); const axiosError = err as AxiosError; @@ -146,7 +157,7 @@ export const AddShareSecretForm = ({ )} />
-
+
@@ -230,23 +241,25 @@ export const AddShareSecretForm = ({
- ( - - - - )} - /> -
+ {!isPublic && ( + ( + + + + )} + /> + )} +
From 4c5c24f689e54a1408b650be6f1d276fa7e125a9 Mon Sep 17 00:00:00 2001 From: Alfonso Hernandez Date: Fri, 19 Jul 2024 16:19:45 +0200 Subject: [PATCH 7/7] feat: remove accessType hardcap in migration + style --- .../migrations/20240718170955_add-access-secret-sharing.ts | 2 +- .../src/services/secret-sharing/secret-sharing-service.ts | 2 +- .../views/ShareSecretPublicPage/components/SecretTable.tsx | 6 ++++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/backend/src/db/migrations/20240718170955_add-access-secret-sharing.ts b/backend/src/db/migrations/20240718170955_add-access-secret-sharing.ts index eb053cf806..705c8d986a 100644 --- a/backend/src/db/migrations/20240718170955_add-access-secret-sharing.ts +++ b/backend/src/db/migrations/20240718170955_add-access-secret-sharing.ts @@ -8,7 +8,7 @@ export async function up(knex: Knex): Promise { const hasColumn = await knex.schema.hasColumn(TableName.SecretSharing, "accessType"); if (!hasColumn) { await knex.schema.table(TableName.SecretSharing, (table) => { - table.string("accessType", 20).notNullable().defaultTo(SecretSharingAccessType.Anyone); + table.string("accessType").notNullable().defaultTo(SecretSharingAccessType.Anyone); }); } } diff --git a/backend/src/services/secret-sharing/secret-sharing-service.ts b/backend/src/services/secret-sharing/secret-sharing-service.ts index a4e95af492..ca6da24e1b 100644 --- a/backend/src/services/secret-sharing/secret-sharing-service.ts +++ b/backend/src/services/secret-sharing/secret-sharing-service.ts @@ -137,7 +137,7 @@ export const secretSharingServiceFactory = ({ } await secretSharingDAL.updateById(sharedSecretId, { $decr: { expiresAfterViews: 1 } }); } - if (sharedSecret.accessType === SecretSharingAccessType.Organization) { + if (sharedSecret.accessType === SecretSharingAccessType.Organization && orgId === sharedSecret.orgId) { return { ...sharedSecret, orgName }; } return { ...sharedSecret, orgName: undefined }; diff --git a/frontend/src/views/ShareSecretPublicPage/components/SecretTable.tsx b/frontend/src/views/ShareSecretPublicPage/components/SecretTable.tsx index 60849b93bd..f2218be65c 100644 --- a/frontend/src/views/ShareSecretPublicPage/components/SecretTable.tsx +++ b/frontend/src/views/ShareSecretPublicPage/components/SecretTable.tsx @@ -32,7 +32,9 @@ export const SecretTable = ({ orgName }: Props) => { const [isVisible, setIsVisible] = useToggle(false); - const title = (

Someone from {orgName} organization has shared a secret with you

); + const title = orgName + ? (

Someone from {orgName} organization has shared a secret with you

) + : (

You need to be logged in to view this secret

); return (
@@ -60,7 +62,7 @@ export const SecretTable = ({ onClick={() => {}} rightIcon={} > - Login to view this secret + Login into {orgName} to view this secret