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
@@ -107,6 +107,7 @@ export const registerIdentityUaRouter = async (server: FastifyZodProvider) => {
.number() .number()
.int() .int()
.min(1) .min(1)
.max(31536000)
.refine((value) => value !== 0, { .refine((value) => value !== 0, {
message: "accessTokenTTL must have a non zero number" message: "accessTokenTTL must have a non zero number"
}) })
@@ -115,6 +116,7 @@ export const registerIdentityUaRouter = async (server: FastifyZodProvider) => {
accessTokenMaxTTL: z accessTokenMaxTTL: z
.number() .number()
.int() .int()
.max(31536000)
.refine((value) => value !== 0, { .refine((value) => value !== 0, {
message: "accessTokenMaxTTL must have a non zero number" message: "accessTokenMaxTTL must have a non zero number"
}) })
@@ -196,7 +198,7 @@ export const registerIdentityUaRouter = async (server: FastifyZodProvider) => {
.min(1) .min(1)
.optional() .optional()
.describe(UNIVERSAL_AUTH.UPDATE.accessTokenTrustedIps), .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 accessTokenNumUsesLimit: z
.number() .number()
.int() .int()
@@ -206,6 +208,7 @@ export const registerIdentityUaRouter = async (server: FastifyZodProvider) => {
accessTokenMaxTTL: z accessTokenMaxTTL: z
.number() .number()
.int() .int()
.max(31536000)
.refine((value) => value !== 0, { .refine((value) => value !== 0, {
message: "accessTokenMaxTTL must have a non zero number" message: "accessTokenMaxTTL must have a non zero number"
}) })
@@ -362,7 +365,7 @@ export const registerIdentityUaRouter = async (server: FastifyZodProvider) => {
body: z.object({ body: z.object({
description: z.string().trim().default("").describe(UNIVERSAL_AUTH.CREATE_CLIENT_SECRET.description), 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), 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: { response: {
200: z.object({ 200: z.object({
@@ -22,7 +22,9 @@ import { UsePopUpState } from "@app/hooks/usePopUp";
const schema = z const schema = z
.object({ .object({
description: z.string(), description: z.string(),
ttl: z.string(), ttl: z.string().refine((val) => Number(val) <= 31536000, {
message: "TTL cannot be greater than 31536000"
}),
numUsesLimit: z.string() numUsesLimit: z.string()
}) })
.required(); .required();
@@ -36,7 +36,13 @@ import { UsePopUpState } from "@app/hooks/usePopUp";
const schema = yup.object({ const schema = yup.object({
description: yup.string(), 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() numUsesLimit: yup.string()
}); });
@@ -19,8 +19,8 @@ import { UsePopUpState } from "@app/hooks/usePopUp";
const schema = yup const schema = yup
.object({ .object({
accessTokenTTL: yup.string().required("Access 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"), accessTokenMaxTTL: yup.string().required("Access Max Token TTL is required").max(31536000),
accessTokenNumUsesLimit: yup.string().required("Access Token Max Number of Uses is required"), accessTokenNumUsesLimit: yup.string().required("Access Token Max Number of Uses is required"),
clientSecretTrustedIps: yup clientSecretTrustedIps: yup
.array( .array(