diff --git a/backend/src/ee/routes/v1/scim-router.ts b/backend/src/ee/routes/v1/scim-router.ts index 52e4f8e1f..756a980eb 100644 --- a/backend/src/ee/routes/v1/scim-router.ts +++ b/backend/src/ee/routes/v1/scim-router.ts @@ -57,7 +57,7 @@ export const registerScimRouter = async (server: FastifyZodProvider) => { body: z.object({ organizationId: z.string().trim(), description: z.string().trim().default(""), - ttlDays: z.number().min(0).default(0) + ttlDays: z.number().min(0).max(730).default(0) }), response: { 200: z.object({ diff --git a/frontend/src/pages/organization/SettingsPage/components/OrgProvisioningTab/ScimTokenModal.tsx b/frontend/src/pages/organization/SettingsPage/components/OrgProvisioningTab/ScimTokenModal.tsx index 5d6007ac0..e8f237454 100644 --- a/frontend/src/pages/organization/SettingsPage/components/OrgProvisioningTab/ScimTokenModal.tsx +++ b/frontend/src/pages/organization/SettingsPage/components/OrgProvisioningTab/ScimTokenModal.tsx @@ -245,15 +245,22 @@ export const ScimTokenModal = ({ popUp, handlePopUpOpen, handlePopUpToggle }: Pr data && data.length > 0 && data.map(({ id, description, ttlDays, createdAt }) => { + const isInvalidTTLDays = ttlDays > 9999; // added validation later so some users would still be using this let expiresAt; if (ttlDays > 0) { - expiresAt = new Date(new Date(createdAt).getTime() + ttlDays * 86400 * 1000); + expiresAt = isInvalidTTLDays + ? new Date() + : new Date(new Date(createdAt).getTime() + ttlDays * 86400 * 1000); } return ( {description === "" ? "-" : description} - {expiresAt ? format(expiresAt, "yyyy-MM-dd HH:mm:ss") : "-"} + + {expiresAt && !isInvalidTTLDays + ? format(expiresAt, "yyyy-MM-dd HH:mm:ss") + : "-"} + {format(new Date(createdAt), "yyyy-MM-dd HH:mm:ss")}