misc: add TTL max values for universal auth

This commit is contained in:
Sheen Capadngan
2024-07-11 13:35:58 +08:00
parent 5dff46ee3a
commit eadf5bef77
4 changed files with 17 additions and 6 deletions

View File

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

View File

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

View File

@@ -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()
});

View File

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