From eadf5bef775cfdb9cc8988df48aee4ab8e5c98d9 Mon Sep 17 00:00:00 2001 From: Sheen Capadngan Date: Thu, 11 Jul 2024 13:35:58 +0800 Subject: [PATCH 1/4] misc: add TTL max values for universal auth --- .../server/routes/v1/identity-universal-auth-router.ts | 7 +++++-- .../IdentityPage/components/IdentityClientSecretModal.tsx | 4 +++- .../IdentityUniversalAuthClientSecretModal.tsx | 8 +++++++- .../IdentitySection/IdentityUniversalAuthForm.tsx | 4 ++-- 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/backend/src/server/routes/v1/identity-universal-auth-router.ts b/backend/src/server/routes/v1/identity-universal-auth-router.ts index b5a63f0db..d8fd0f619 100644 --- a/backend/src/server/routes/v1/identity-universal-auth-router.ts +++ b/backend/src/server/routes/v1/identity-universal-auth-router.ts @@ -107,6 +107,7 @@ export const registerIdentityUaRouter = async (server: FastifyZodProvider) => { .number() .int() .min(1) + .max(31536000) .refine((value) => value !== 0, { message: "accessTokenTTL must have a non zero number" }) @@ -115,6 +116,7 @@ export const registerIdentityUaRouter = async (server: FastifyZodProvider) => { accessTokenMaxTTL: z .number() .int() + .max(31536000) .refine((value) => value !== 0, { message: "accessTokenMaxTTL must have a non zero number" }) @@ -196,7 +198,7 @@ export const registerIdentityUaRouter = async (server: FastifyZodProvider) => { .min(1) .optional() .describe(UNIVERSAL_AUTH.UPDATE.accessTokenTrustedIps), - accessTokenTTL: z.number().int().min(0).optional().describe(UNIVERSAL_AUTH.UPDATE.accessTokenTTL), + accessTokenTTL: z.number().int().min(0).max(31536000).optional().describe(UNIVERSAL_AUTH.UPDATE.accessTokenTTL), accessTokenNumUsesLimit: z .number() .int() @@ -206,6 +208,7 @@ export const registerIdentityUaRouter = async (server: FastifyZodProvider) => { accessTokenMaxTTL: z .number() .int() + .max(31536000) .refine((value) => value !== 0, { message: "accessTokenMaxTTL must have a non zero number" }) @@ -362,7 +365,7 @@ export const registerIdentityUaRouter = async (server: FastifyZodProvider) => { body: z.object({ description: z.string().trim().default("").describe(UNIVERSAL_AUTH.CREATE_CLIENT_SECRET.description), numUsesLimit: z.number().min(0).default(0).describe(UNIVERSAL_AUTH.CREATE_CLIENT_SECRET.numUsesLimit), - ttl: z.number().min(0).default(0).describe(UNIVERSAL_AUTH.CREATE_CLIENT_SECRET.ttl) + ttl: z.number().min(0).max(31536000).default(0).describe(UNIVERSAL_AUTH.CREATE_CLIENT_SECRET.ttl) }), response: { 200: z.object({ diff --git a/frontend/src/views/Org/IdentityPage/components/IdentityClientSecretModal.tsx b/frontend/src/views/Org/IdentityPage/components/IdentityClientSecretModal.tsx index 49c21587d..031c4b8bc 100644 --- a/frontend/src/views/Org/IdentityPage/components/IdentityClientSecretModal.tsx +++ b/frontend/src/views/Org/IdentityPage/components/IdentityClientSecretModal.tsx @@ -22,7 +22,9 @@ import { UsePopUpState } from "@app/hooks/usePopUp"; const schema = z .object({ description: z.string(), - ttl: z.string(), + ttl: z.string().refine((val) => Number(val) <= 31536000, { + message: "TTL cannot be greater than 31536000" + }), numUsesLimit: z.string() }) .required(); diff --git a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityUniversalAuthClientSecretModal.tsx b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityUniversalAuthClientSecretModal.tsx index 226743739..e568a2dcd 100644 --- a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityUniversalAuthClientSecretModal.tsx +++ b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityUniversalAuthClientSecretModal.tsx @@ -36,7 +36,13 @@ import { UsePopUpState } from "@app/hooks/usePopUp"; const schema = yup.object({ description: yup.string(), - ttl: yup.string(), + ttl: yup + .string() + .test( + "is-value-valid", + "TTL cannot be greater than 31536000", + (value) => Number(value) <= 31536000 + ), numUsesLimit: yup.string() }); diff --git a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityUniversalAuthForm.tsx b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityUniversalAuthForm.tsx index 2e3df29f2..1c102d172 100644 --- a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityUniversalAuthForm.tsx +++ b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityUniversalAuthForm.tsx @@ -19,8 +19,8 @@ import { UsePopUpState } from "@app/hooks/usePopUp"; const schema = yup .object({ - accessTokenTTL: yup.string().required("Access Token TTL is required"), - accessTokenMaxTTL: yup.string().required("Access Max Token TTL is required"), + accessTokenTTL: yup.string().required("Access Token TTL is required").max(31536000), + accessTokenMaxTTL: yup.string().required("Access Max Token TTL is required").max(31536000), accessTokenNumUsesLimit: yup.string().required("Access Token Max Number of Uses is required"), clientSecretTrustedIps: yup .array( From 9c37eeeda6992cca542e5d9e59218c431a12d1a5 Mon Sep 17 00:00:00 2001 From: Sheen Capadngan Date: Thu, 11 Jul 2024 13:48:18 +0800 Subject: [PATCH 2/4] misc: finalize form validation for universal auth ttl --- .../IdentityUniversalAuthForm.tsx | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityUniversalAuthForm.tsx b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityUniversalAuthForm.tsx index 1c102d172..29911d6d9 100644 --- a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityUniversalAuthForm.tsx +++ b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityUniversalAuthForm.tsx @@ -19,8 +19,22 @@ import { UsePopUpState } from "@app/hooks/usePopUp"; const schema = yup .object({ - accessTokenTTL: yup.string().required("Access Token TTL is required").max(31536000), - accessTokenMaxTTL: yup.string().required("Access Max Token TTL is required").max(31536000), + accessTokenTTL: yup + .string() + .required("Access Token TTL is required") + .test( + "is-value-valid", + "Access Token TTL cannot be greater than 31536000", + (value) => Number(value) <= 31536000 + ), + accessTokenMaxTTL: yup + .string() + .required("Access Max Token TTL is required") + .test( + "is-value-valid", + "Access Max Token TTL cannot be greater than 31536000", + (value) => Number(value) <= 31536000 + ), accessTokenNumUsesLimit: yup.string().required("Access Token Max Number of Uses is required"), clientSecretTrustedIps: yup .array( From cddda1148e069e778247477c412ffaa55435ec93 Mon Sep 17 00:00:00 2001 From: Sheen Capadngan Date: Thu, 11 Jul 2024 14:05:50 +0800 Subject: [PATCH 3/4] misc: added max ttl checks for native auths --- .../routes/v1/identity-aws-iam-auth-router.ts | 5 ++++- .../routes/v1/identity-azure-auth-router.ts | 5 ++++- .../routes/v1/identity-gcp-auth-router.ts | 5 ++++- .../v1/identity-kubernetes-auth-router.ts | 11 ++++++++++- .../routes/v1/identity-oidc-auth-router.ts | 4 ++++ .../routes/v1/identity-token-auth-router.ts | 5 ++++- .../IdentitySection/IdentityAwsAuthForm.tsx | 18 ++++++++++++++++-- .../IdentitySection/IdentityAzureAuthForm.tsx | 8 ++++++-- .../IdentitySection/IdentityGcpAuthForm.tsx | 8 ++++++-- .../IdentityKubernetesAuthForm.tsx | 8 ++++++-- .../IdentitySection/IdentityOidcAuthForm.tsx | 8 ++++++-- .../IdentitySection/IdentityTokenAuthForm.tsx | 8 ++++++-- 12 files changed, 76 insertions(+), 17 deletions(-) diff --git a/backend/src/server/routes/v1/identity-aws-iam-auth-router.ts b/backend/src/server/routes/v1/identity-aws-iam-auth-router.ts index 575a6aafd..0ea31f9e6 100644 --- a/backend/src/server/routes/v1/identity-aws-iam-auth-router.ts +++ b/backend/src/server/routes/v1/identity-aws-iam-auth-router.ts @@ -100,6 +100,7 @@ export const registerIdentityAwsAuthRouter = async (server: FastifyZodProvider) .number() .int() .min(1) + .max(31536000) .refine((value) => value !== 0, { message: "accessTokenTTL must have a non zero number" }) @@ -108,6 +109,7 @@ export const registerIdentityAwsAuthRouter = async (server: FastifyZodProvider) accessTokenMaxTTL: z .number() .int() + .max(31536000) .refine((value) => value !== 0, { message: "accessTokenMaxTTL must have a non zero number" }) @@ -182,11 +184,12 @@ export const registerIdentityAwsAuthRouter = async (server: FastifyZodProvider) .min(1) .optional() .describe(AWS_AUTH.UPDATE.accessTokenTrustedIps), - accessTokenTTL: z.number().int().min(0).optional().describe(AWS_AUTH.UPDATE.accessTokenTTL), + accessTokenTTL: z.number().int().min(0).max(31536000).optional().describe(AWS_AUTH.UPDATE.accessTokenTTL), accessTokenNumUsesLimit: z.number().int().min(0).optional().describe(AWS_AUTH.UPDATE.accessTokenNumUsesLimit), accessTokenMaxTTL: z .number() .int() + .max(31536000) .refine((value) => value !== 0, { message: "accessTokenMaxTTL must have a non zero number" }) diff --git a/backend/src/server/routes/v1/identity-azure-auth-router.ts b/backend/src/server/routes/v1/identity-azure-auth-router.ts index dbde2d9a7..c99fe2fd1 100644 --- a/backend/src/server/routes/v1/identity-azure-auth-router.ts +++ b/backend/src/server/routes/v1/identity-azure-auth-router.ts @@ -90,6 +90,7 @@ export const registerIdentityAzureAuthRouter = async (server: FastifyZodProvider .number() .int() .min(1) + .max(31536000) .refine((value) => value !== 0, { message: "accessTokenTTL must have a non zero number" }) @@ -98,6 +99,7 @@ export const registerIdentityAzureAuthRouter = async (server: FastifyZodProvider accessTokenMaxTTL: z .number() .int() + .max(31536000) .refine((value) => value !== 0, { message: "accessTokenMaxTTL must have a non zero number" }) @@ -173,11 +175,12 @@ export const registerIdentityAzureAuthRouter = async (server: FastifyZodProvider .min(1) .optional() .describe(AZURE_AUTH.UPDATE.accessTokenTrustedIps), - accessTokenTTL: z.number().int().min(0).optional().describe(AZURE_AUTH.UPDATE.accessTokenTTL), + accessTokenTTL: z.number().int().min(0).max(31536000).optional().describe(AZURE_AUTH.UPDATE.accessTokenTTL), accessTokenNumUsesLimit: z.number().int().min(0).optional().describe(AZURE_AUTH.UPDATE.accessTokenNumUsesLimit), accessTokenMaxTTL: z .number() .int() + .max(31536000) .refine((value) => value !== 0, { message: "accessTokenMaxTTL must have a non zero number" }) diff --git a/backend/src/server/routes/v1/identity-gcp-auth-router.ts b/backend/src/server/routes/v1/identity-gcp-auth-router.ts index 6f10ba9f5..7efe9f8ff 100644 --- a/backend/src/server/routes/v1/identity-gcp-auth-router.ts +++ b/backend/src/server/routes/v1/identity-gcp-auth-router.ts @@ -91,6 +91,7 @@ export const registerIdentityGcpAuthRouter = async (server: FastifyZodProvider) .number() .int() .min(1) + .max(31536000) .refine((value) => value !== 0, { message: "accessTokenTTL must have a non zero number" }) @@ -99,6 +100,7 @@ export const registerIdentityGcpAuthRouter = async (server: FastifyZodProvider) accessTokenMaxTTL: z .number() .int() + .max(31536000) .refine((value) => value !== 0, { message: "accessTokenMaxTTL must have a non zero number" }) @@ -175,11 +177,12 @@ export const registerIdentityGcpAuthRouter = async (server: FastifyZodProvider) .min(1) .optional() .describe(GCP_AUTH.UPDATE.accessTokenTrustedIps), - accessTokenTTL: z.number().int().min(0).optional().describe(GCP_AUTH.UPDATE.accessTokenTTL), + accessTokenTTL: z.number().int().min(0).max(31536000).optional().describe(GCP_AUTH.UPDATE.accessTokenTTL), accessTokenNumUsesLimit: z.number().int().min(0).optional().describe(GCP_AUTH.UPDATE.accessTokenNumUsesLimit), accessTokenMaxTTL: z .number() .int() + .max(31536000) .refine((value) => value !== 0, { message: "accessTokenMaxTTL must have a non zero number" }) diff --git a/backend/src/server/routes/v1/identity-kubernetes-auth-router.ts b/backend/src/server/routes/v1/identity-kubernetes-auth-router.ts index d69f028a1..41efbb766 100644 --- a/backend/src/server/routes/v1/identity-kubernetes-auth-router.ts +++ b/backend/src/server/routes/v1/identity-kubernetes-auth-router.ts @@ -106,6 +106,7 @@ export const registerIdentityKubernetesRouter = async (server: FastifyZodProvide .number() .int() .min(1) + .max(31536000) .refine((value) => value !== 0, { message: "accessTokenTTL must have a non zero number" }) @@ -114,6 +115,7 @@ export const registerIdentityKubernetesRouter = async (server: FastifyZodProvide accessTokenMaxTTL: z .number() .int() + .max(31536000) .refine((value) => value !== 0, { message: "accessTokenMaxTTL must have a non zero number" }) @@ -196,7 +198,13 @@ export const registerIdentityKubernetesRouter = async (server: FastifyZodProvide .min(1) .optional() .describe(KUBERNETES_AUTH.UPDATE.accessTokenTrustedIps), - accessTokenTTL: z.number().int().min(0).optional().describe(KUBERNETES_AUTH.UPDATE.accessTokenTTL), + accessTokenTTL: z + .number() + .int() + .min(0) + .max(31536000) + .optional() + .describe(KUBERNETES_AUTH.UPDATE.accessTokenTTL), accessTokenNumUsesLimit: z .number() .int() @@ -206,6 +214,7 @@ export const registerIdentityKubernetesRouter = async (server: FastifyZodProvide accessTokenMaxTTL: z .number() .int() + .max(31536000) .refine((value) => value !== 0, { message: "accessTokenMaxTTL must have a non zero number" }) diff --git a/backend/src/server/routes/v1/identity-oidc-auth-router.ts b/backend/src/server/routes/v1/identity-oidc-auth-router.ts index 417947ad7..7d2d7879e 100644 --- a/backend/src/server/routes/v1/identity-oidc-auth-router.ts +++ b/backend/src/server/routes/v1/identity-oidc-auth-router.ts @@ -106,6 +106,7 @@ export const registerIdentityOidcAuthRouter = async (server: FastifyZodProvider) .number() .int() .min(1) + .max(31536000) .refine((value) => value !== 0, { message: "accessTokenTTL must have a non zero number" }) @@ -114,6 +115,7 @@ export const registerIdentityOidcAuthRouter = async (server: FastifyZodProvider) accessTokenMaxTTL: z .number() .int() + .max(31536000) .refine((value) => value !== 0, { message: "accessTokenMaxTTL must have a non zero number" }) @@ -201,6 +203,7 @@ export const registerIdentityOidcAuthRouter = async (server: FastifyZodProvider) .number() .int() .min(1) + .max(31536000) .refine((value) => value !== 0, { message: "accessTokenTTL must have a non zero number" }) @@ -209,6 +212,7 @@ export const registerIdentityOidcAuthRouter = async (server: FastifyZodProvider) accessTokenMaxTTL: z .number() .int() + .max(31536000) .refine((value) => value !== 0, { message: "accessTokenMaxTTL must have a non zero number" }) diff --git a/backend/src/server/routes/v1/identity-token-auth-router.ts b/backend/src/server/routes/v1/identity-token-auth-router.ts index 752447538..0a8779829 100644 --- a/backend/src/server/routes/v1/identity-token-auth-router.ts +++ b/backend/src/server/routes/v1/identity-token-auth-router.ts @@ -39,6 +39,7 @@ export const registerIdentityTokenAuthRouter = async (server: FastifyZodProvider .number() .int() .min(1) + .max(31536000) .refine((value) => value !== 0, { message: "accessTokenTTL must have a non zero number" }) @@ -47,6 +48,7 @@ export const registerIdentityTokenAuthRouter = async (server: FastifyZodProvider accessTokenMaxTTL: z .number() .int() + .max(31536000) .refine((value) => value !== 0, { message: "accessTokenMaxTTL must have a non zero number" }) @@ -117,11 +119,12 @@ export const registerIdentityTokenAuthRouter = async (server: FastifyZodProvider .min(1) .optional() .describe(TOKEN_AUTH.UPDATE.accessTokenTrustedIps), - accessTokenTTL: z.number().int().min(0).optional().describe(TOKEN_AUTH.UPDATE.accessTokenTTL), + accessTokenTTL: z.number().int().min(0).max(31536000).optional().describe(TOKEN_AUTH.UPDATE.accessTokenTTL), accessTokenNumUsesLimit: z.number().int().min(0).optional().describe(TOKEN_AUTH.UPDATE.accessTokenNumUsesLimit), accessTokenMaxTTL: z .number() .int() + .max(31536000) .refine((value) => value !== 0, { message: "accessTokenMaxTTL must have a non zero number" }) diff --git a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityAwsAuthForm.tsx b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityAwsAuthForm.tsx index 9c81f308a..956fa5eea 100644 --- a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityAwsAuthForm.tsx +++ b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityAwsAuthForm.tsx @@ -22,8 +22,22 @@ const schema = yup stsEndpoint: yup.string(), allowedPrincipalArns: yup.string(), allowedAccountIds: yup.string(), - accessTokenTTL: yup.string().required("Access Token TTL is required"), - accessTokenMaxTTL: yup.string().required("Access Max Token TTL is required"), + accessTokenTTL: yup + .string() + .required("Access Token TTL is required") + .test( + "is-value-valid", + "Access Token TTL cannot be greater than 31536000", + (value) => Number(value) <= 31536000 + ), + accessTokenMaxTTL: yup + .string() + .required("Access Max Token TTL is required") + .test( + "is-value-valid", + "Access Token Max TTL cannot be greater than 31536000", + (value) => Number(value) <= 31536000 + ), accessTokenNumUsesLimit: yup.string().required("Access Token Max Number of Uses is required"), accessTokenTrustedIps: yup .array( diff --git a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityAzureAuthForm.tsx b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityAzureAuthForm.tsx index c0aaca2f6..53cce8136 100644 --- a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityAzureAuthForm.tsx +++ b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityAzureAuthForm.tsx @@ -22,8 +22,12 @@ const schema = z tenantId: z.string(), resource: z.string(), allowedServicePrincipalIds: z.string(), - accessTokenTTL: z.string(), - accessTokenMaxTTL: z.string(), + accessTokenTTL: z.string().refine((val) => Number(val) <= 31536000, { + message: "Access Token TTL cannot be greater than 31536000" + }), + accessTokenMaxTTL: z.string().refine((val) => Number(val) <= 31536000, { + message: "Access Token Max TTL cannot be greater than 31536000" + }), accessTokenNumUsesLimit: z.string(), accessTokenTrustedIps: z .array( diff --git a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityGcpAuthForm.tsx b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityGcpAuthForm.tsx index eb07c3c36..8e1accd14 100644 --- a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityGcpAuthForm.tsx +++ b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityGcpAuthForm.tsx @@ -23,8 +23,12 @@ const schema = z allowedServiceAccounts: z.string(), allowedProjects: z.string(), allowedZones: z.string(), - accessTokenTTL: z.string(), - accessTokenMaxTTL: z.string(), + accessTokenTTL: z.string().refine((val) => Number(val) <= 31536000, { + message: "Access Token TTL cannot be greater than 31536000" + }), + accessTokenMaxTTL: z.string().refine((val) => Number(val) <= 31536000, { + message: "Access Token Max TTL cannot be greater than 31536000" + }), accessTokenNumUsesLimit: z.string(), accessTokenTrustedIps: z .array( diff --git a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityKubernetesAuthForm.tsx b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityKubernetesAuthForm.tsx index 6baa6a405..4ad8f6bfa 100644 --- a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityKubernetesAuthForm.tsx +++ b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityKubernetesAuthForm.tsx @@ -25,8 +25,12 @@ const schema = z allowedNamespaces: z.string(), allowedAudience: z.string(), caCert: z.string(), - accessTokenTTL: z.string(), - accessTokenMaxTTL: z.string(), + accessTokenTTL: z.string().refine((val) => Number(val) <= 31536000, { + message: "Access Token TTL cannot be greater than 31536000" + }), + accessTokenMaxTTL: z.string().refine((val) => Number(val) <= 31536000, { + message: "Access Token Max TTL cannot be greater than 31536000" + }), accessTokenNumUsesLimit: z.string(), accessTokenTrustedIps: z .array( diff --git a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityOidcAuthForm.tsx b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityOidcAuthForm.tsx index 763d2f22a..9bc26774d 100644 --- a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityOidcAuthForm.tsx +++ b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityOidcAuthForm.tsx @@ -22,8 +22,12 @@ const schema = z.object({ }) ) .min(1), - accessTokenTTL: z.string(), - accessTokenMaxTTL: z.string(), + accessTokenTTL: z.string().refine((val) => Number(val) <= 31536000, { + message: "Access Token TTL cannot be greater than 31536000" + }), + accessTokenMaxTTL: z.string().refine((val) => Number(val) <= 31536000, { + message: "Access Token Max TTL cannot be greater than 31536000" + }), accessTokenNumUsesLimit: z.string(), oidcDiscoveryUrl: z.string().url().min(1), caCert: z.string().trim().default(""), diff --git a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityTokenAuthForm.tsx b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityTokenAuthForm.tsx index b28af537f..710e64111 100644 --- a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityTokenAuthForm.tsx +++ b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityTokenAuthForm.tsx @@ -17,8 +17,12 @@ import { UsePopUpState } from "@app/hooks/usePopUp"; const schema = z .object({ - accessTokenTTL: z.string(), - accessTokenMaxTTL: z.string(), + accessTokenTTL: z.string().refine((val) => Number(val) <= 31536000, { + message: "Access Token TTL cannot be greater than 31536000" + }), + accessTokenMaxTTL: z.string().refine((val) => Number(val) <= 31536000, { + message: "Access Token Max TTL cannot be greater than 31536000" + }), accessTokenNumUsesLimit: z.string(), accessTokenTrustedIps: z .array( From f9a125acee8386374925aaf03385367d741fded9 Mon Sep 17 00:00:00 2001 From: Sheen Capadngan Date: Thu, 11 Jul 2024 23:40:45 +0800 Subject: [PATCH 4/4] misc: updated limit to 10 years --- .../routes/v1/identity-aws-iam-auth-router.ts | 8 ++++---- .../routes/v1/identity-azure-auth-router.ts | 8 ++++---- .../server/routes/v1/identity-gcp-auth-router.ts | 8 ++++---- .../routes/v1/identity-kubernetes-auth-router.ts | 8 ++++---- .../routes/v1/identity-oidc-auth-router.ts | 8 ++++---- .../routes/v1/identity-token-auth-router.ts | 8 ++++---- .../routes/v1/identity-universal-auth-router.ts | 16 +++++++++++----- .../components/IdentityClientSecretModal.tsx | 4 ++-- .../IdentitySection/IdentityAwsAuthForm.tsx | 8 ++++---- .../IdentitySection/IdentityAzureAuthForm.tsx | 8 ++++---- .../IdentitySection/IdentityGcpAuthForm.tsx | 8 ++++---- .../IdentityKubernetesAuthForm.tsx | 8 ++++---- .../IdentitySection/IdentityOidcAuthForm.tsx | 8 ++++---- .../IdentitySection/IdentityTokenAuthForm.tsx | 8 ++++---- .../IdentityUniversalAuthClientSecretModal.tsx | 4 ++-- .../IdentityUniversalAuthForm.tsx | 8 ++++---- 16 files changed, 67 insertions(+), 61 deletions(-) diff --git a/backend/src/server/routes/v1/identity-aws-iam-auth-router.ts b/backend/src/server/routes/v1/identity-aws-iam-auth-router.ts index 0ea31f9e6..9721e46c5 100644 --- a/backend/src/server/routes/v1/identity-aws-iam-auth-router.ts +++ b/backend/src/server/routes/v1/identity-aws-iam-auth-router.ts @@ -100,7 +100,7 @@ export const registerIdentityAwsAuthRouter = async (server: FastifyZodProvider) .number() .int() .min(1) - .max(31536000) + .max(315360000) .refine((value) => value !== 0, { message: "accessTokenTTL must have a non zero number" }) @@ -109,7 +109,7 @@ export const registerIdentityAwsAuthRouter = async (server: FastifyZodProvider) accessTokenMaxTTL: z .number() .int() - .max(31536000) + .max(315360000) .refine((value) => value !== 0, { message: "accessTokenMaxTTL must have a non zero number" }) @@ -184,12 +184,12 @@ export const registerIdentityAwsAuthRouter = async (server: FastifyZodProvider) .min(1) .optional() .describe(AWS_AUTH.UPDATE.accessTokenTrustedIps), - accessTokenTTL: z.number().int().min(0).max(31536000).optional().describe(AWS_AUTH.UPDATE.accessTokenTTL), + accessTokenTTL: z.number().int().min(0).max(315360000).optional().describe(AWS_AUTH.UPDATE.accessTokenTTL), accessTokenNumUsesLimit: z.number().int().min(0).optional().describe(AWS_AUTH.UPDATE.accessTokenNumUsesLimit), accessTokenMaxTTL: z .number() .int() - .max(31536000) + .max(315360000) .refine((value) => value !== 0, { message: "accessTokenMaxTTL must have a non zero number" }) diff --git a/backend/src/server/routes/v1/identity-azure-auth-router.ts b/backend/src/server/routes/v1/identity-azure-auth-router.ts index c99fe2fd1..589f9e92c 100644 --- a/backend/src/server/routes/v1/identity-azure-auth-router.ts +++ b/backend/src/server/routes/v1/identity-azure-auth-router.ts @@ -90,7 +90,7 @@ export const registerIdentityAzureAuthRouter = async (server: FastifyZodProvider .number() .int() .min(1) - .max(31536000) + .max(315360000) .refine((value) => value !== 0, { message: "accessTokenTTL must have a non zero number" }) @@ -99,7 +99,7 @@ export const registerIdentityAzureAuthRouter = async (server: FastifyZodProvider accessTokenMaxTTL: z .number() .int() - .max(31536000) + .max(315360000) .refine((value) => value !== 0, { message: "accessTokenMaxTTL must have a non zero number" }) @@ -175,12 +175,12 @@ export const registerIdentityAzureAuthRouter = async (server: FastifyZodProvider .min(1) .optional() .describe(AZURE_AUTH.UPDATE.accessTokenTrustedIps), - accessTokenTTL: z.number().int().min(0).max(31536000).optional().describe(AZURE_AUTH.UPDATE.accessTokenTTL), + accessTokenTTL: z.number().int().min(0).max(315360000).optional().describe(AZURE_AUTH.UPDATE.accessTokenTTL), accessTokenNumUsesLimit: z.number().int().min(0).optional().describe(AZURE_AUTH.UPDATE.accessTokenNumUsesLimit), accessTokenMaxTTL: z .number() .int() - .max(31536000) + .max(315360000) .refine((value) => value !== 0, { message: "accessTokenMaxTTL must have a non zero number" }) diff --git a/backend/src/server/routes/v1/identity-gcp-auth-router.ts b/backend/src/server/routes/v1/identity-gcp-auth-router.ts index 7efe9f8ff..2022aef58 100644 --- a/backend/src/server/routes/v1/identity-gcp-auth-router.ts +++ b/backend/src/server/routes/v1/identity-gcp-auth-router.ts @@ -91,7 +91,7 @@ export const registerIdentityGcpAuthRouter = async (server: FastifyZodProvider) .number() .int() .min(1) - .max(31536000) + .max(315360000) .refine((value) => value !== 0, { message: "accessTokenTTL must have a non zero number" }) @@ -100,7 +100,7 @@ export const registerIdentityGcpAuthRouter = async (server: FastifyZodProvider) accessTokenMaxTTL: z .number() .int() - .max(31536000) + .max(315360000) .refine((value) => value !== 0, { message: "accessTokenMaxTTL must have a non zero number" }) @@ -177,12 +177,12 @@ export const registerIdentityGcpAuthRouter = async (server: FastifyZodProvider) .min(1) .optional() .describe(GCP_AUTH.UPDATE.accessTokenTrustedIps), - accessTokenTTL: z.number().int().min(0).max(31536000).optional().describe(GCP_AUTH.UPDATE.accessTokenTTL), + accessTokenTTL: z.number().int().min(0).max(315360000).optional().describe(GCP_AUTH.UPDATE.accessTokenTTL), accessTokenNumUsesLimit: z.number().int().min(0).optional().describe(GCP_AUTH.UPDATE.accessTokenNumUsesLimit), accessTokenMaxTTL: z .number() .int() - .max(31536000) + .max(315360000) .refine((value) => value !== 0, { message: "accessTokenMaxTTL must have a non zero number" }) diff --git a/backend/src/server/routes/v1/identity-kubernetes-auth-router.ts b/backend/src/server/routes/v1/identity-kubernetes-auth-router.ts index 41efbb766..3a71ba7a2 100644 --- a/backend/src/server/routes/v1/identity-kubernetes-auth-router.ts +++ b/backend/src/server/routes/v1/identity-kubernetes-auth-router.ts @@ -106,7 +106,7 @@ export const registerIdentityKubernetesRouter = async (server: FastifyZodProvide .number() .int() .min(1) - .max(31536000) + .max(315360000) .refine((value) => value !== 0, { message: "accessTokenTTL must have a non zero number" }) @@ -115,7 +115,7 @@ export const registerIdentityKubernetesRouter = async (server: FastifyZodProvide accessTokenMaxTTL: z .number() .int() - .max(31536000) + .max(315360000) .refine((value) => value !== 0, { message: "accessTokenMaxTTL must have a non zero number" }) @@ -202,7 +202,7 @@ export const registerIdentityKubernetesRouter = async (server: FastifyZodProvide .number() .int() .min(0) - .max(31536000) + .max(315360000) .optional() .describe(KUBERNETES_AUTH.UPDATE.accessTokenTTL), accessTokenNumUsesLimit: z @@ -214,7 +214,7 @@ export const registerIdentityKubernetesRouter = async (server: FastifyZodProvide accessTokenMaxTTL: z .number() .int() - .max(31536000) + .max(315360000) .refine((value) => value !== 0, { message: "accessTokenMaxTTL must have a non zero number" }) diff --git a/backend/src/server/routes/v1/identity-oidc-auth-router.ts b/backend/src/server/routes/v1/identity-oidc-auth-router.ts index 7d2d7879e..280dbc5d5 100644 --- a/backend/src/server/routes/v1/identity-oidc-auth-router.ts +++ b/backend/src/server/routes/v1/identity-oidc-auth-router.ts @@ -106,7 +106,7 @@ export const registerIdentityOidcAuthRouter = async (server: FastifyZodProvider) .number() .int() .min(1) - .max(31536000) + .max(315360000) .refine((value) => value !== 0, { message: "accessTokenTTL must have a non zero number" }) @@ -115,7 +115,7 @@ export const registerIdentityOidcAuthRouter = async (server: FastifyZodProvider) accessTokenMaxTTL: z .number() .int() - .max(31536000) + .max(315360000) .refine((value) => value !== 0, { message: "accessTokenMaxTTL must have a non zero number" }) @@ -203,7 +203,7 @@ export const registerIdentityOidcAuthRouter = async (server: FastifyZodProvider) .number() .int() .min(1) - .max(31536000) + .max(315360000) .refine((value) => value !== 0, { message: "accessTokenTTL must have a non zero number" }) @@ -212,7 +212,7 @@ export const registerIdentityOidcAuthRouter = async (server: FastifyZodProvider) accessTokenMaxTTL: z .number() .int() - .max(31536000) + .max(315360000) .refine((value) => value !== 0, { message: "accessTokenMaxTTL must have a non zero number" }) diff --git a/backend/src/server/routes/v1/identity-token-auth-router.ts b/backend/src/server/routes/v1/identity-token-auth-router.ts index 0a8779829..f367e6033 100644 --- a/backend/src/server/routes/v1/identity-token-auth-router.ts +++ b/backend/src/server/routes/v1/identity-token-auth-router.ts @@ -39,7 +39,7 @@ export const registerIdentityTokenAuthRouter = async (server: FastifyZodProvider .number() .int() .min(1) - .max(31536000) + .max(315360000) .refine((value) => value !== 0, { message: "accessTokenTTL must have a non zero number" }) @@ -48,7 +48,7 @@ export const registerIdentityTokenAuthRouter = async (server: FastifyZodProvider accessTokenMaxTTL: z .number() .int() - .max(31536000) + .max(315360000) .refine((value) => value !== 0, { message: "accessTokenMaxTTL must have a non zero number" }) @@ -119,12 +119,12 @@ export const registerIdentityTokenAuthRouter = async (server: FastifyZodProvider .min(1) .optional() .describe(TOKEN_AUTH.UPDATE.accessTokenTrustedIps), - accessTokenTTL: z.number().int().min(0).max(31536000).optional().describe(TOKEN_AUTH.UPDATE.accessTokenTTL), + accessTokenTTL: z.number().int().min(0).max(315360000).optional().describe(TOKEN_AUTH.UPDATE.accessTokenTTL), accessTokenNumUsesLimit: z.number().int().min(0).optional().describe(TOKEN_AUTH.UPDATE.accessTokenNumUsesLimit), accessTokenMaxTTL: z .number() .int() - .max(31536000) + .max(315360000) .refine((value) => value !== 0, { message: "accessTokenMaxTTL must have a non zero number" }) diff --git a/backend/src/server/routes/v1/identity-universal-auth-router.ts b/backend/src/server/routes/v1/identity-universal-auth-router.ts index d8fd0f619..f103a39e0 100644 --- a/backend/src/server/routes/v1/identity-universal-auth-router.ts +++ b/backend/src/server/routes/v1/identity-universal-auth-router.ts @@ -107,7 +107,7 @@ export const registerIdentityUaRouter = async (server: FastifyZodProvider) => { .number() .int() .min(1) - .max(31536000) + .max(315360000) .refine((value) => value !== 0, { message: "accessTokenTTL must have a non zero number" }) @@ -116,7 +116,7 @@ export const registerIdentityUaRouter = async (server: FastifyZodProvider) => { accessTokenMaxTTL: z .number() .int() - .max(31536000) + .max(315360000) .refine((value) => value !== 0, { message: "accessTokenMaxTTL must have a non zero number" }) @@ -198,7 +198,13 @@ export const registerIdentityUaRouter = async (server: FastifyZodProvider) => { .min(1) .optional() .describe(UNIVERSAL_AUTH.UPDATE.accessTokenTrustedIps), - accessTokenTTL: z.number().int().min(0).max(31536000).optional().describe(UNIVERSAL_AUTH.UPDATE.accessTokenTTL), + accessTokenTTL: z + .number() + .int() + .min(0) + .max(315360000) + .optional() + .describe(UNIVERSAL_AUTH.UPDATE.accessTokenTTL), accessTokenNumUsesLimit: z .number() .int() @@ -208,7 +214,7 @@ export const registerIdentityUaRouter = async (server: FastifyZodProvider) => { accessTokenMaxTTL: z .number() .int() - .max(31536000) + .max(315360000) .refine((value) => value !== 0, { message: "accessTokenMaxTTL must have a non zero number" }) @@ -365,7 +371,7 @@ export const registerIdentityUaRouter = async (server: FastifyZodProvider) => { body: z.object({ description: z.string().trim().default("").describe(UNIVERSAL_AUTH.CREATE_CLIENT_SECRET.description), numUsesLimit: z.number().min(0).default(0).describe(UNIVERSAL_AUTH.CREATE_CLIENT_SECRET.numUsesLimit), - ttl: z.number().min(0).max(31536000).default(0).describe(UNIVERSAL_AUTH.CREATE_CLIENT_SECRET.ttl) + ttl: z.number().min(0).max(315360000).default(0).describe(UNIVERSAL_AUTH.CREATE_CLIENT_SECRET.ttl) }), response: { 200: z.object({ diff --git a/frontend/src/views/Org/IdentityPage/components/IdentityClientSecretModal.tsx b/frontend/src/views/Org/IdentityPage/components/IdentityClientSecretModal.tsx index 031c4b8bc..3f4de4fc1 100644 --- a/frontend/src/views/Org/IdentityPage/components/IdentityClientSecretModal.tsx +++ b/frontend/src/views/Org/IdentityPage/components/IdentityClientSecretModal.tsx @@ -22,8 +22,8 @@ import { UsePopUpState } from "@app/hooks/usePopUp"; const schema = z .object({ description: z.string(), - ttl: z.string().refine((val) => Number(val) <= 31536000, { - message: "TTL cannot be greater than 31536000" + ttl: z.string().refine((val) => Number(val) <= 315360000, { + message: "TTL cannot be greater than 315360000" }), numUsesLimit: z.string() }) diff --git a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityAwsAuthForm.tsx b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityAwsAuthForm.tsx index 956fa5eea..d56f4b738 100644 --- a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityAwsAuthForm.tsx +++ b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityAwsAuthForm.tsx @@ -27,16 +27,16 @@ const schema = yup .required("Access Token TTL is required") .test( "is-value-valid", - "Access Token TTL cannot be greater than 31536000", - (value) => Number(value) <= 31536000 + "Access Token TTL cannot be greater than 315360000", + (value) => Number(value) <= 315360000 ), accessTokenMaxTTL: yup .string() .required("Access Max Token TTL is required") .test( "is-value-valid", - "Access Token Max TTL cannot be greater than 31536000", - (value) => Number(value) <= 31536000 + "Access Token Max TTL cannot be greater than 315360000", + (value) => Number(value) <= 315360000 ), accessTokenNumUsesLimit: yup.string().required("Access Token Max Number of Uses is required"), accessTokenTrustedIps: yup diff --git a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityAzureAuthForm.tsx b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityAzureAuthForm.tsx index 53cce8136..a3902d120 100644 --- a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityAzureAuthForm.tsx +++ b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityAzureAuthForm.tsx @@ -22,11 +22,11 @@ const schema = z tenantId: z.string(), resource: z.string(), allowedServicePrincipalIds: z.string(), - accessTokenTTL: z.string().refine((val) => Number(val) <= 31536000, { - message: "Access Token TTL cannot be greater than 31536000" + accessTokenTTL: z.string().refine((val) => Number(val) <= 315360000, { + message: "Access Token TTL cannot be greater than 315360000" }), - accessTokenMaxTTL: z.string().refine((val) => Number(val) <= 31536000, { - message: "Access Token Max TTL cannot be greater than 31536000" + accessTokenMaxTTL: z.string().refine((val) => Number(val) <= 315360000, { + message: "Access Token Max TTL cannot be greater than 315360000" }), accessTokenNumUsesLimit: z.string(), accessTokenTrustedIps: z diff --git a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityGcpAuthForm.tsx b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityGcpAuthForm.tsx index 8e1accd14..a0834b3ae 100644 --- a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityGcpAuthForm.tsx +++ b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityGcpAuthForm.tsx @@ -23,11 +23,11 @@ const schema = z allowedServiceAccounts: z.string(), allowedProjects: z.string(), allowedZones: z.string(), - accessTokenTTL: z.string().refine((val) => Number(val) <= 31536000, { - message: "Access Token TTL cannot be greater than 31536000" + accessTokenTTL: z.string().refine((val) => Number(val) <= 315360000, { + message: "Access Token TTL cannot be greater than 315360000" }), - accessTokenMaxTTL: z.string().refine((val) => Number(val) <= 31536000, { - message: "Access Token Max TTL cannot be greater than 31536000" + accessTokenMaxTTL: z.string().refine((val) => Number(val) <= 315360000, { + message: "Access Token Max TTL cannot be greater than 315360000" }), accessTokenNumUsesLimit: z.string(), accessTokenTrustedIps: z diff --git a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityKubernetesAuthForm.tsx b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityKubernetesAuthForm.tsx index 4ad8f6bfa..3724fc014 100644 --- a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityKubernetesAuthForm.tsx +++ b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityKubernetesAuthForm.tsx @@ -25,11 +25,11 @@ const schema = z allowedNamespaces: z.string(), allowedAudience: z.string(), caCert: z.string(), - accessTokenTTL: z.string().refine((val) => Number(val) <= 31536000, { - message: "Access Token TTL cannot be greater than 31536000" + accessTokenTTL: z.string().refine((val) => Number(val) <= 315360000, { + message: "Access Token TTL cannot be greater than 315360000" }), - accessTokenMaxTTL: z.string().refine((val) => Number(val) <= 31536000, { - message: "Access Token Max TTL cannot be greater than 31536000" + accessTokenMaxTTL: z.string().refine((val) => Number(val) <= 315360000, { + message: "Access Token Max TTL cannot be greater than 315360000" }), accessTokenNumUsesLimit: z.string(), accessTokenTrustedIps: z diff --git a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityOidcAuthForm.tsx b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityOidcAuthForm.tsx index 9bc26774d..30663d470 100644 --- a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityOidcAuthForm.tsx +++ b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityOidcAuthForm.tsx @@ -22,11 +22,11 @@ const schema = z.object({ }) ) .min(1), - accessTokenTTL: z.string().refine((val) => Number(val) <= 31536000, { - message: "Access Token TTL cannot be greater than 31536000" + accessTokenTTL: z.string().refine((val) => Number(val) <= 315360000, { + message: "Access Token TTL cannot be greater than 315360000" }), - accessTokenMaxTTL: z.string().refine((val) => Number(val) <= 31536000, { - message: "Access Token Max TTL cannot be greater than 31536000" + accessTokenMaxTTL: z.string().refine((val) => Number(val) <= 315360000, { + message: "Access Token Max TTL cannot be greater than 315360000" }), accessTokenNumUsesLimit: z.string(), oidcDiscoveryUrl: z.string().url().min(1), diff --git a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityTokenAuthForm.tsx b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityTokenAuthForm.tsx index 710e64111..4ce437fc1 100644 --- a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityTokenAuthForm.tsx +++ b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityTokenAuthForm.tsx @@ -17,11 +17,11 @@ import { UsePopUpState } from "@app/hooks/usePopUp"; const schema = z .object({ - accessTokenTTL: z.string().refine((val) => Number(val) <= 31536000, { - message: "Access Token TTL cannot be greater than 31536000" + accessTokenTTL: z.string().refine((val) => Number(val) <= 315360000, { + message: "Access Token TTL cannot be greater than 315360000" }), - accessTokenMaxTTL: z.string().refine((val) => Number(val) <= 31536000, { - message: "Access Token Max TTL cannot be greater than 31536000" + accessTokenMaxTTL: z.string().refine((val) => Number(val) <= 315360000, { + message: "Access Token Max TTL cannot be greater than 315360000" }), accessTokenNumUsesLimit: z.string(), accessTokenTrustedIps: z diff --git a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityUniversalAuthClientSecretModal.tsx b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityUniversalAuthClientSecretModal.tsx index e568a2dcd..04a5b47a8 100644 --- a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityUniversalAuthClientSecretModal.tsx +++ b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityUniversalAuthClientSecretModal.tsx @@ -40,8 +40,8 @@ const schema = yup.object({ .string() .test( "is-value-valid", - "TTL cannot be greater than 31536000", - (value) => Number(value) <= 31536000 + "TTL cannot be greater than 315360000", + (value) => Number(value) <= 315360000 ), numUsesLimit: yup.string() }); diff --git a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityUniversalAuthForm.tsx b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityUniversalAuthForm.tsx index 29911d6d9..cb8c3f580 100644 --- a/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityUniversalAuthForm.tsx +++ b/frontend/src/views/Org/MembersPage/components/OrgIdentityTab/components/IdentitySection/IdentityUniversalAuthForm.tsx @@ -24,16 +24,16 @@ const schema = yup .required("Access Token TTL is required") .test( "is-value-valid", - "Access Token TTL cannot be greater than 31536000", - (value) => Number(value) <= 31536000 + "Access Token TTL cannot be greater than 315360000", + (value) => Number(value) <= 315360000 ), accessTokenMaxTTL: yup .string() .required("Access Max Token TTL is required") .test( "is-value-valid", - "Access Max Token TTL cannot be greater than 31536000", - (value) => Number(value) <= 31536000 + "Access Max Token TTL cannot be greater than 315360000", + (value) => Number(value) <= 315360000 ), accessTokenNumUsesLimit: yup.string().required("Access Token Max Number of Uses is required"), clientSecretTrustedIps: yup