UNPKG

okta-mcp-server

Version:

Model Context Protocol (MCP) server for Okta API operations with support for bulk operations and caching

39 lines 1.2 kB
import { z } from 'zod'; // Common validation schemas export const OktaDomainSchema = z .string() .url() .refine((url) => { try { const parsedUrl = new URL(url); const hostname = parsedUrl.hostname.toLowerCase(); // Validate that the hostname ends with the allowed Okta domains // This prevents subdomain bypass attacks return (hostname.endsWith('.okta.com') || hostname.endsWith('.oktapreview.com') || hostname === 'okta.com' || hostname === 'oktapreview.com'); } catch { return false; } }, { message: 'Must be a valid Okta domain', }); export const EmailSchema = z.string().email(); export const UUIDSchema = z.string().uuid(); export const PaginationSchema = z.object({ limit: z.number().int().positive().max(200).default(20), after: z.string().optional(), }); // Validation helper functions export function validateOktaDomain(domain) { return OktaDomainSchema.parse(domain); } export function validateEmail(email) { return EmailSchema.parse(email); } export function validateUUID(uuid) { return UUIDSchema.parse(uuid); } //# sourceMappingURL=validators.js.map