misc: added max ttl checks for native auths

This commit is contained in:
Sheen Capadngan
2024-07-11 14:05:50 +08:00
parent 9c37eeeda6
commit cddda1148e
12 changed files with 76 additions and 17 deletions

View File

@@ -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"
})

View File

@@ -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"
})

View File

@@ -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"
})

View File

@@ -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"
})

View File

@@ -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"
})

View File

@@ -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"
})

View File

@@ -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(

View File

@@ -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(

View File

@@ -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(

View File

@@ -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(

View File

@@ -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(""),

View File

@@ -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(